我有一组名称相同但值不同的单选按钮。我想做这样的事情:
$("#langs").on("change", "[name=locale]", myfunction);
这是可行的,但是当我单击一个新的单选按钮时,我的函数会被调用两次:一次用于自动取消选中的“旧”单选按钮,一次用于我单击的新单选按钮。
将 onchange 更改为 onclick 不是一个解决方案,因为我将它与 jquery-mobile 一起使用,并且它用标签包装输入,因此单击的是标签,而不是输入。
最佳答案
您可以将 $(this)
作为参数传递给 myfunction
,然后在 myfunction
内部检查单选按钮是否已选中
$("#langs").on("change", "[name=locale]", function() { myfunction($(this)); } );
function myfunction(elem) {
if(elem.is(':checked')) {
// code here
}
}
关于jquery - 如何在单选按钮上获取 onchange 回调,但仅限于已设置的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10952691/