2012-04-10 4 views
1

내 사이트에 동적으로 채워진 다중 선택 양식을 만들었습니다. 사용자가 첫 번째 선택에서 하나 이상의 항목을 선택하면 두 번째 항목이 jQuery를 통해 채워집니다. 양식은 multiselect가 채워지는 순서를 제외하고 올바르게 작동합니다.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

올바른 방향으로 나를 가리켜 주신 덕분에 감사드립니다. 마지막으로 나는 나의 성공 함수 후에 다음을 직접 추가했다. 값 대신 텍스트로 정렬하여 결과를 재정렬합니다.

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

다음 드롭 다운 상자를 동적으로 생성하기 위해 sql 쿼리가 실행되는 파일에 대해 ajax 호출을 수행해야합니다.이 경우 키워드의 마지막에 키워드 "ASC"을 입력해야합니다. "id"의 값 속성이 <option value""> 인 경우