2つのドロップダウンがあります。最初のドロップダウンを変更すると、最初のドロップダウンの会社IDで投稿を行うjquery change()がトリガーされます。次に、SQLクエリを実行して、その会社で働いている人のリストを取得し、選択ボックスにオプションを入力します。これは正常に機能しており、SQLクエリをORDERBYadmin_nameに設定しています。しかし、jqueryがドロップダウンにオプションを挿入し始めると、代わりにオプション値(admin_id)でソートされているように見えます。admin_name(オプションのテキスト)順にオプションを並べ替えるにはどうすればよいですか。以下は、オプションの追加を担当する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>