2012-04-10 3 views
1

Я создал динамически заполненную форму мультиселектора для моего сайта. Когда пользователь выбирает один или несколько элементов в первом выборе, второй заполняется через jQuery. Форма работает правильно, за исключением того, что заполнен мультиселек.Измените заказ в заполненной jquery форме

например. «Продукт» выберите содержит:

<select name="product_id" id="products" multiple="multiple"> 
<option value="#" selected="selected">Please Select</option> 
<option value="1">Product 1</option> 
<option value="5">Product 2</option> 
<option value="4">Product 3</option> 
<option value="6">Product 4</option> 

(Да, значения не являются такими же, как продукты под номерами) Когда пользователь выбирает один из них вызов JQuery заполняет следующий ниспадающее меню.

<select name="version_id" id="versions" multiple="multiple"> 
<option value="100">3.0.7</option> 
<option value="101">1.0.8</option> 
<option value="102">12.0.1</option> 

код заполняет этот выбор и заказы «значение», есть способ, чтобы заставить его сделать заказ по фактическому содержанию, например, изменить его на:

<option value="101">1.0.8</option> 
<option value="100">3.0.7</option> 
<option value="102">12.0.1</option> 

Код успеха в моем вызова:

success: function(versions) 
{ 
$.each(versions,function(id,version) 
{ 
var opt = $('<option />'); 
opt.val(id); 
opt.text(version); 
$('#versions').append(opt); 
}); 
} 

Спасибо!

+0

Я думаю, что это то, что вы ищете: - http://stackoverflow.com/questions/6670041/sort-options-in-a-select-list-with-javascript-jquery-but- не по алфавиту – billyonecan

ответ

1

Благодаря @deifwud для указания меня в правильном направлении. В конце я добавил следующее сразу после моей функции успеха. Он переупорядочивает сортировку результатов по тексту вместо значения.

$("#versions").html($("#versions option").sort(function (a, b) { 
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1 
})); 
0

Вы должны сделать ajax-вызов файла, в котором выполняется sql-запрос, для динамического создания следующего раскрывающегося списка .... Если это так, тогда вам нужно поместить ключевое слово «ASC» в конце выберите запрос, который дает ваш «id» в атрибуте value <option value"">