需要在表单中的Dropdown列表中添加一些值--。

问题描述 投票:0回答:1

我有一个自定义列表Sections,它的值基于一个日期范围。 我有一个联系人列表,它将是一个个人列表,并在这个自定义列表中拥有一个Sections查询。 我想让Sections查询的下拉菜单只显示那些在今天的日期内的值。

我有代码可以删除这些值(可能还有更好的方法,我正在走一遍),然后我有代码可以查找列表,并找到合适的 "当前 "值。

我不知道如何将这些值添加到Dropdown中。 我所有的代码都可以工作,但需要细节来将适当的值添加到Dropdown中。

<script type="text/javascript">  
$(document).ready(function() {
   //don't exectute any jsom until sp.js file has loaded.          
   SP.SOD.executeFunc('sp.js', 'SP.ClientContext', GetSections);
});

function GetSections()
{
  var dtToday = new Date((new Date()).getFullYear(), (new Date()).getMonth(), (new Date()).getDate() );
  // Remove all values from Section
    $("select[title='Section'] option").each(function(){
        $(this).remove();
    });
   var ctx = new SP.ClientContext.get_current();
   var list = ctx.get_web().get_lists().getByTitle('Sections');
   var camlQuery = new SP.CamlQuery();
   camlQuery.set_viewXml('<View><Query></Query></View>');
   var collListItems = list.getItems(camlQuery)
   ctx.load(collListItems);
   ctx.executeQueryAsync(
        function(){
                        var swListItms = collListItems.getEnumerator();
                        while (swListItms.moveNext())
                        {
                            var swItm = swListItms.get_current();
                            var itmSDt = swItm.get_item("BeginDate");
                            var itmEDt = swItm.get_item("EndDate");
                            var quest = swItm.get_item("Title");
                            if((dtToday >= itmSDt) && (dtToday <= itmEDt))
                            {
                                console.log("yes-"+quest);
                               $("select[title='Section'] option").prepend('<option value="" selected="selected">--select--</option>')
                            } //else {
                                //console.log("no-"+quest);
                            //}
                        }
        },
        function(sender,args){
             console.log("Request Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );

}
</script>

先谢谢你。

javascript sharepoint-2013
1个回答
0
投票

修改代码片段如下。

<script type="text/javascript">  
$(document).ready(function() {
   //don't exectute any jsom until sp.js file has loaded.          
   SP.SOD.executeFunc('sp.js', 'SP.ClientContext', GetSections);
});

function GetSections()
{
  var dtToday = new Date((new Date()).getFullYear(), (new Date()).getMonth(), (new Date()).getDate() );
  // Remove all values from Section
    $("select[title='Section'] option").each(function(){
        $(this).remove();

    });
   var ctx = new SP.ClientContext.get_current();
   var list = ctx.get_web().get_lists().getByTitle('Sections');
   var camlQuery = new SP.CamlQuery();
   camlQuery.set_viewXml('<View><Query></Query></View>');
   var collListItems = list.getItems(camlQuery)
   ctx.load(collListItems);
   ctx.executeQueryAsync(
        function(){
                        $("select[title='Section']").prepend('<option value="" selected="selected">--select--</option>')
                        var swListItms = collListItems.getEnumerator();
                        while (swListItms.moveNext())
                        {
                            var swItm = swListItms.get_current();
                            var itmSDt = swItm.get_item("BeginDate");
                            var itmEDt = swItm.get_item("EndDate");
                            var quest = swItm.get_item("Title");

                            if((dtToday >= itmSDt) && (dtToday <= itmEDt))
                            {
                                console.log("yes-"+quest);
                               $("select[title='Section']").append("<option value='"+quest+"'>"+quest+"</option>")
                            } 

                        }
        },
        function(sender,args){
             console.log("Request Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );

}
</script>
<select title="Section"></select>

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.