У меня есть настраиваемый список разделов, в котором есть значения на основе диапазона дат. У меня есть список контактов, который будет списком людей и имеет поиск разделов в этом настраиваемом списке. Я хочу, чтобы раскрывающийся список для поиска по разделам отображал только те значения, которые находятся в пределах сегодняшней даты.
У меня есть код для удаления значений (вероятно, есть способ лучше, я прохожу по ним), тогда у меня есть код, который будет искать в списке и находить подходящие значения, которые являются «текущими».
Я не знаю, как добавить эти значения в раскрывающийся список. Весь мой код работает, но мне нужны сведения, чтобы добавить соответствующие значения в раскрывающийся список.
<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>
Заранее спасибо.