2015-12-22 6 views
0

мне нужно удалить повторяющиеся значения из выпадающего списка, пожалуйста, сообщите:Удалить повторяющееся значение из выпадающего

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); 
    } 

}); 
+0

Просто проверьте, добавлена ​​ли опция с выпадающим значением, либо с помощью списка/obj, который содержит все уже добавленные значения, либо просто путем проверки «schoolDropDown» на наличие опций со значениями перед вами добавьте их. Что вы пробовали до сих пор и где вы застряли? – scrappedcola

+0

Спасибо, отлично поработали! – Paul

ответ

0

Создайте 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); 
    } 
}); 

Я проверка school.Schools, если вы хотите сделать чек на school.RecordID затем просто изменить имя свойства в моем коде.

0

Используйте временный массив и храните элементы в нем при прохождении через него. И перед добавлением в раскрывающийся список, установите флажок в отношении массива temp, чтобы узнать, добавлено ли оно. Если он уже не добавлен, добавьте его в массив temp и добавьте в раскрывающийся список. Вы можете использовать метод $.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)); 
    } 
}); 

Here является рабочим образцом.

Смежные вопросы