如果我有几个同名的单选按钮,则一次只能选择一个.当一个人被选中时,任何同名人都会失去他们的选择.我很感兴趣为什么这不构成jQuery的.change()事件.
破解$.change()函数会非常激烈,但这似乎并没有被报告为错误 – 所以我有兴趣找出原因并非如此.
测试如下:我希望无论何时选择无线电,都会触发两个更改事件,但事实并非如此.
这是一个例子:http://jsfiddle.net/XzmmW/
解决方法
如果你想到一组单选按钮,就像选择元素一样,很明显为什么没有必要为取消选择的单选按钮发出更改事件.
当您在select元素中更改所选选项时,您将获得一个更改事件(您不会期望任何其他事件),而不是一个用于先前选择的选项,另一个用于新选择的选项.
正如已经提到的,当选择一个单选按钮时,同一组中没有其他单选按钮可以,因此触发第二个更改事件将是多余的.
另请注意,这不是jQuery特有的 – 标准JavaScript更改事件的工作方式完全相同.