Как добавить параметры в DropDownList с помощью jQuery (заказано)? - PullRequest
1 голос
/ 19 мая 2009

Этот вопрос похож на этот Как добавить параметры в DropDownList с помощью jQuery? но я хотел бы добавить это в упорядоченном виде. Пример в другом вопросе просто добавляет его в конец списка. Код выглядит следующим образом:

var myOptions = {
      1: "Test"
      2: "Another"
};
$.each(myOptions, function(val, text) {
      $('#Projects').append(
           $('<option></option').val(val).html(text)
      );
});

Предположим, список уже содержит 3 элемента: "Бла", "Фу" и "Зебра". Я хотел бы иметь возможность добавить две новые опции («Тест» и «Другой») в раскрывающийся список, чтобы он был упорядочен («Другой», «Бла», «Фу», «Тест» и «Зебра») с помощью JQuery.

Любая помощь очень ценится !!!

Ответы [ 2 ]

1 голос
/ 19 мая 2009

Попробуй:

// Sort Function
function sortAlpha(a,b) { 
    if(a.name > b.name) {
        return 1;
    } else if(a.name < b.name) {
        return -1;
    }
    return 0;
}


// Options you want to add
var myOptions = [ {id:1, name:"Test"}, {id:2, name:"Another" } ];

// Create array from existing options and merge
$.merge(myOptions, 
    $.map( $('#Projects').find('option'), function(n){ 
        return { id:n.value, name:n.innerHTML}; 
    }) 
);

// Sort all options using above sort function
myOptions.sort(sortAlpha);

// Clear the <select> of existing options
$('#Projects').empty();

// Add the options to the <select>
$.each(myOptions, function() {
      $('#Projects').append(
           $('<option></option').val(this.id).html(this.name)
      );
});
1 голос
/ 19 мая 2009

Посмотрите на ответ, связанный с jQuery здесь . Конечно, вам необходимо добавить новые параметры перед вызовом метода сортировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...