我似乎无法得到这个工作。我正在使用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