Jquery 从下拉列表中删除重复值

Jquery 从下拉列表中删除重复值,jquery,Jquery,我需要从下拉列表中删除重复值,请告知: var schoolDropDown = $('#schoolDropDown'); $.ajax({ type: "POST", url: NMUSDDataURL + "API/RequestService.asmx/GetSites", contentType: "application/json; charset=utf-8", dataType: "json", success: function (res

我需要从下拉列表中删除重复值,请告知:

var schoolDropDown = $('#schoolDropDown');
$.ajax({
    type: "POST",
    url: NMUSDDataURL + "API/RequestService.asmx/GetSites",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        var schools = response.d;
        $('#output').empty();
        $.each(schools, function (index, school) {
            schoolDropDown.append($("<option />").val(school.RecordID).text(school.Schools));
        });
    },

    failure: function (msg) {
        $('#output').text(msg);
    }

});

var schoolDropDown=$(“#schoolDropDown”);
$.ajax({
类型:“POST”,
url:NMUSDDataURL+“API/RequestService.asmx/GetSites”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(响应){
var=响应。d;
$(“#输出”).empty();
$。每个(学校,功能(索引,学校){
schoolDropDown.append($(“”).val(school.RecordID).text(school.Schools));
});
},
故障:功能(msg){
$(“#输出”).text(msg);
}
});

创建一个
sampleArray
每次检查
Schools
是否在
array
中,如果不是,则推入
array
并追加到列表中。这样可以删除重复项

var sampleArray = [];
$.each(schools, function(index, school) {

  // Check if Schools is already in sampleArray
  if (sampleArray.indexOf(school.Schools) == -1) {
    schoolDropDown.append($("<option />").val(school.RecordID).text(school.Schools));
    // Push if unique
    sampleArray.push(school.Schools);
  }
});
var-sampleArray=[];
$。每个(学校,功能(索引,学校){
//检查学校是否已在样本阵列中
if(sampleArray.indexOf(school.Schools)=-1){
schoolDropDown.append($(“”).val(school.RecordID).text(school.Schools));
//如果唯一,则推送
样本数组.push(school.Schools);
}
});

我正在检查
school.Schools
,如果要检查
school.RecordID
,只需更改我代码中的属性名称。

使用临时数组,并在循环时将项目存储到该数组中。在添加到下拉列表之前,检查临时数组是否已经添加。如果尚未添加,请将其添加到临时数组并附加到下拉列表中。您可以使用
$.inArray
方法

var itemsAdded=[];
$.each(schools, function (index, school) {

   if($.inArray(school.RecordID,itemsAdded)===-1) 
   {
      itemsAdded.push(school.RecordID);
      schoolDropDown.append($("<option/>").val(school.RecordID).text(school.Schools));
   }
});
var itemsAdded=[];
$。每个(学校,功能(索引,学校){
if($.inArray(school.RecordID,itemsAdded)=-1)
{
itemsAdded.push(school.RecordID);
schoolDropDown.append($(“”).val(school.RecordID).text(school.Schools));
}
});

是一个工作示例。

只需检查您是否已经添加了带有下拉值的选项,或者使用包含所有已添加值的列表/obj,或者只需在添加之前检查
schoolDropDown
是否存在带有这些值的选项即可。到目前为止你尝试了什么?你被困在哪里了?谢谢你,工作得很好!