由于某种原因,以下代码无法正常运行:
<input onclick="$(function(){ alert($(this).attr('checked')); })" name="step1[agree]" id="step1_agree" value="1" type="checkbox">
它以undefined
提醒。我也尝试过这样的事情:
onclick="$(function(){ var chk=$(this); alert(chk.attr('id')); })"
...但最终会得到相同的结果。我做错了什么,如何解决这个问题?
答案 0 :(得分:5)
<input onclick="alert($(this).attr('checked'));" name="step1[agree]" id="step1_agree" value="1" type="checkbox">
但更好的选择是
<input name="step1[agree]" id="step1_agree" value="1" type="checkbox">
$('#step1_agree').click(function() {
alert($(this).attr('checked));
});
答案 1 :(得分:3)
这应该有效。
onclick="alert(this.checked);"
答案 2 :(得分:2)
请在jQuery中了解binding。
$('#step1_agree').bind('click', function() { alert(this.checked); });
答案 3 :(得分:1)
不确定为什么要将它包装在这样的函数中。它应该只是
onclick="alert($(this).attr('id'));"
答案 4 :(得分:0)
您可以使用类似
的内容$(function(){
$("#step1_agree").click(function(){
alert (this.checked);
});
});
一旦DOM准备好, $(function(){
});
就会被解雇。
您必须在文档就绪中分配所有事件处理程序。您可以使用id selector
将click event handler
附加到所需元素。要获取checked属性,您可以使用原生javascript代码this.checked
。
答案 5 :(得分:0)
似乎你必须使用以下内容:
<script type="text/javascript">
$(function(){
$('#step1_agree').click(function(){
alert('')
});
})
</script>