私は HTML を持っています<select>
:
<div id="content">
<input type="button" id="get-btn" onclick="getData();"/>
<select id="attrib-type-sel"></select>
</div>
ユーザーが次のボタンをクリックすると、jQuery のgetJSON
メソッドを使用してサーバーにアクセスし、データをプルバックして<select>
、オプションを設定します。
$(document).ready(function() {
$.getJSON(
"some/url/on/my/server",
function(data) {
var optionsHTML = "";
var len = data.length;
for(var i = 0; i < len; i++) {
optionsHTML += '<option value="' + data[i] + '">'
+ data[i] + '</option>';
}
$('#attrib-type-sel').html(optionsHTML);
});
});
このコードを Firebug で実行すると、AJAX 呼び出しが成功し、次の JSON が返されることがわかります。
[
{
"id":1,
"name":"Snoopy",
"tag":"SNOOPY",
"allowsAll":false
}
]
(1 レコードのみを返します)。
ただし、UI に戻ると、このコードが起動すると<select>
、内部 HTML が を読み取る 1 つのオプションを持つ が作成されます[object Object]
。
ここで何が起こっているのか誰にもわかりますか?問題ないように見えgetJSON
ますが、結果から JSON を抽出し、それを使用して選択項目に入力するコードにバグがあります。前もって感謝します!