jquery - 如何在单选按钮上获取 onchange 回调,但仅限于已设置的按钮

标签 jquery jquery-mobile radio-button onchange

我有一组名称相同但值不同的单选按钮。我想做这样的事情:

$("#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/

相关文章:

javascript - 表体未正确附加

javascript - 如何使用 Javascript 或 C# 禁用 Chrome 浏览器的打印预览功能

javascript - 以编程方式创建 JQuery Mobile slider 时,可编辑数字字段不会替换内置浏览器 slider

html - 如何在导航栏中使用“仅图标”按钮(Jquery Mobile)

javascript - 在之前的下拉选择之后将值附加到单选按钮而不是下拉框

jQuery 使列高度相同 - 字体/文本更改后

javascript - 所有图像存储到本地存储后如何调用函数

javascript - iPad "copy"事件处理程序

javascript - 使用 .prop 使用 jquery 获取 radio 值

VBA改变复杂的公式