私は次のものを持っています:
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$.getJSON(
"/myServer/getAllWidgets",
function(data) {
var optionsHTML = "<select id='widget-sel'>";
optionsHTML += "<option selected='selected' id='default'>Select an option</option>";
var len = data.length;
for(var i = 0; i < len; i++) {
optionsHTML += '<option value="' + data[i] + '">'
+ data[i] + '</option>';
}
optionsHTML += "</select>";
$('#widget-sel-div').html(optionsHTML);
}
);
$("#widget-sel").change(function() {
alert("Hello!");
});
});
</script>
<div id="widget-sel-div"></div>
つまり、 が起動すると、 に選択ボックス ( )document.ready
が入力され、その選択の変更ハンドラーが作成され、単に "Hello!" と出力されるという考え方です。アラートボックス経由で画面に。widget-sel-div
widget-sel
これを実行すると、エラーは発生せず (Firebug はまったく文句を言いません)、select には AJAX 呼び出しからのすべてのウィジェットが取り込まれます/myServer/getAllWidgets
。問題は、変更ハンドラーが機能していないことです。ウィジェットを選択しても、アラートボックスが表示されません。誰かが私が間違っているところを見つけることができますか? 前もって感謝します。