Jquery 为什么。仅当我选择一个元素时更改才起作用?

Jquery 为什么。仅当我选择一个元素时更改才起作用?,jquery,html,Jquery,Html,我有密码: 那个处理程序只有id=text1是的,我应该在名字上这样做。但无论如何,它应该是有效的。事实上,它只在我选中复选框text1时起作用,而在我选择text2时不起作用 为什么??我如何解决这个问题?这只对text1有效,因为您的事件只附加到id=text1的元素。你还想让它怎么工作。是的,您必须使用名称myRadio使其在这两种情况下都能工作。将输入包装在一个div中。现在,您只引用第一个输入 <div id="container"> Yes <input type=

我有密码:

那个处理程序只有id=text1是的,我应该在名字上这样做。但无论如何,它应该是有效的。事实上,它只在我选中复选框text1时起作用,而在我选择text2时不起作用


为什么??我如何解决这个问题?

这只对text1有效,因为您的事件只附加到id=text1的元素。你还想让它怎么工作。是的,您必须使用名称myRadio使其在这两种情况下都能工作。

将输入包装在一个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;
});

前面给出的将其包装为div的答案会更改页面布局。如果需要在不影响页面的情况下执行此操作,则可以按名称选择radio元素:

$('input[name="myRadio"]').change(function() {
    alert('changed');
    return;
});

是的,当然,但是当我选择它和离开它时,文本1会改变。。。这对我来说更符合逻辑:-1。。。啊。。。我不敢相信:
$('input[name="myRadio"]').change(function() {
    alert('changed');
    return;
});