我有this代码:
Yes <input type="radio" value="txt1" name="myRadio" id="text1" checked=true />
No <input type="radio" value="txt2" name="myRadio" id="text2" />
$('#text1').change(function() {
alert('changed');
return;
});
该处理程序只有id = text1(是的,我应该在名称上执行此操作)。但它无论如何都应该有效。实际上它只有在我选中复选框text1时才有效,而不是在我选择text2时。
为什么呢?我该如何解决这个问题?
答案 0 :(得分:2)
这仅适用于text1,因为您的事件仅附加到id = text1的元素。你还有什么想让它发挥作用。是的,您必须使用名称“myRadio”才能使它同时工作。
答案 1 :(得分:2)
将输入包装在div中。现在,你只是引用了第一个输入。
<div id="container">
Yes <input type="radio" value="txt1" name="myRadio" id="text1" checked=true />
No <input type="radio" value="txt2" name="myRadio" id="text2" />
</div>
$('#container input').click(function() {
alert('changed');
return;
});
答案 2 :(得分:1)
将之前的答案包装在div中会改变页面布局。如果您需要在不影响页面的情况下执行此操作,则可以按名称选择无线电元素:
$('input[name="myRadio"]').change(function() {
alert('changed');
return;
});