我有兩個下拉菜單,由於更改第一個觸發jquery更改()的結果,它會在第一個下拉菜單中使用公司ID進行發佈。然後運行一個sql查詢來獲取適用於該公司的人員列表,並使用選項填充選擇框。這工作正常,我已經將sql查詢設置爲ORDER BY admin_name。但是,當jquery開始將選項插入到下拉列表中時,它似乎是通過選項值(admin_id)進行排序。我可以做些什麼來保留admin_name(選項的文本)排序的選項。下面是jQuery代碼負責添加的選項:jQuery新選項需要排序
$.post("listSignedBy.php", { company_id: company_id },
function(data) {
alert(data); <-- this shows that the data is sorted correctly by the admin name.
var select = $('#signed_by');
if(select.prop) {
var options = select.prop('options');
}
else {
var options = select.attr('options');
}
$('option', select).remove();
var obj = jQuery.parseJSON(data);
options[options.length] = new Option('-- Select Signed By --', '');
$.each(obj, function(val, text) {
options[options.length] = new Option(text, val);
});
select.val(selectedOption);
});
謝謝你的任何援助,請讓我知道如果你需要任何進一步的信息,以幫助排除故障/修復。
按照要求,例如JSON數據:
{"19082":"Aaron Smith","19081":"Becky Doe"}
因此,在這種情況下,我要的是:
<option value='19082'>Aaron Smith</option>
<option value='19081'>Becky Doe</option>
但不是由文本排序,它是由價值,所以我得到整理:
<option value='19081'>Becky Doe</option>
<option value='19082'>Aaron Smith</option>
您可以發佈返回的JSON中列出的虛假條目嗎? –
你可以發佈JSON數據..也許幾個條目被拒絕是好的 –
更新了原來的帖子,謝謝。 –