我似乎無法得到這個工作。我正在使用jquery創建一個html選擇,並且我希望一些代碼在其值發生更改時執行。jquery創建選擇,並觸發更改
代碼如下:
<script type ="text/javascript">
var firstweddingturn = '400';
$('#weddingturn').change(function() {
alert ("Wedding select change triggered!");
//var wedturn = $('#weddingturnselectid').val();
//$('#div3').append('<br>Wedding turn selected, ' + wedturn + '</br>')
});
$(document).ready(function() {
var html = [];
html[html.length] = '<select name="weddingturn" id="weddingturn">';
var a = firstweddingturn;
var b = Number(firstweddingturn) + 16;
while (a < b) {
// do some code
html[html.length] = '<option name="asdf" value = "1">' + a + '</option>';
a++;
} // end while
html[html.length] = '</select>';
$('#div1').append(html.join(''));
});
</script>
我在做什麼錯?
在這種情況下,select會在稍後創建,通過執行其他jQuery代碼。我的例子在這裏被簡化了。 – jeremy
但是你知道,當你創造它時,不是嗎?元素不會被添加爲某些庫的神祕結果。然後綁定事件處理程序。 '.live'和'.delegate'是專用功能,僅在非常特殊的情況下使用。在寫jQuery的四年中,我從不需要它們。 – Malvolio
此外,'html [html.length] = x'完全合法的Javascript,但'html.push(x)'更具慣用性。 – Malvolio