Rest 从SharePoint列表获取ListData,然后将结果绑定到下拉字段,但如何删除重复项?
我从SharePoint列表中获取了列表数据,并使用knockoutJS将一列数据绑定到下拉列表中。我现在正试图从绑定的结果中删除重复项,但我很挣扎 这是我目前的代码:Rest 从SharePoint列表获取ListData,然后将结果绑定到下拉字段,但如何删除重复项?,rest,sharepoint,knockout.js,Rest,Sharepoint,Knockout.js,我从SharePoint列表中获取了列表数据,并使用knockoutJS将一列数据绑定到下拉列表中。我现在正试图从绑定的结果中删除重复项,但我很挣扎 这是我目前的代码: var Info = ko.observable(); var AppModel = { Acts: ko.observableArray([]), sel: ko.observable() } $(function () { $.aja
var Info = ko.observable();
var AppModel = {
Acts: ko.observableArray([]),
sel: ko.observable()
}
$(function () {
$.ajax({
dataType: "json",
url: "MYLIST/_vti_bin/listdata.svc/LISTNAME?$select=Title",
data: {},
success: dataCallBack
});
ko.applyBindings();
});
function dataCallBack(data) {
var newData = [];
for(var idx=0; idx < data.d.results.length; idx++) {
function dataCallBack(data) {
var newData = [];
for(var idx=0; idx < data.d.results.length; idx++) {
var e = data.d.results[idx];
var foundItem = return ko.utils.arrayFirst(newData, function(item) {
return item == e;
});
if (!foundItem){
newData.push(e);
}
}
AppModel.Acts(newData);
}
var Info=ko.observable();
var AppModel={
行为:高.阿雷([]),
sel:ko.observable()
}
$(函数(){
$.ajax({
数据类型:“json”,
url:“MYLIST/\u vti\u bin/listdata.svc/LISTNAME?$select=Title”,
数据:{},
成功:dataCallBack
});
ko.applyBindings();
});
函数dataCallBack(数据){
var newData=[];
对于(var idx=0;idx
HTML此处
<select id="location-input" data-bind="options: AppModel.Acts,
optionsText: 'Title
optionsCaption: 'Choose...',
value: AppModel.sel">
</select>
有人能告诉我哪里出了问题吗?我认为for循环在if语句处中断了。您检查重复项的尝试是错误的 试着这样做:
var foundItem = ko.utils.arrayFirst(newData, function(item) {
return item == e;
});
if (!foundItem)
{
newData.push(e);
}
感谢您的快速回复。我已经用您的建议更新了上面的代码,但下拉列表中没有填充结果。它可以工作!只需为每个项目属性添加.Title,并从ko.utils开头删除“return”。。。