jQuery - 选中单选按钮还是复选框?

时间:2011-03-14 17:04:23

标签: jquery

我有一个UI,可以使用复选框或一对值为0和1的单选按钮,以允许用户插入布尔值。

当单击复选框或任一单选按钮时,我会调用一个事件处理程序。

如果选中该复选框,或者选中了值为1的单选按钮,我想做一件事,如果未选中复选框,或者选择了值为0的单选按钮,或者如果既没有选择单选按钮,我也想做另一个。

这是复杂性 - 我需要调用相同的事件处理程序,无论它是否附加到复选框或单选按钮。

所以问题是,构建代码的最简洁方法是什么? Element.is('checked')不起作用,因为如果选择了任一单选按钮,它将返回true。 Element.val()不起作用,因为复选框始终具有常量值。

想法?

1 个答案:

答案 0 :(得分:4)

使用onChange触发事件。然后,您可以检查TYPE属性并在那里拆分逻辑(如果选中复选框,检查是否已选中,如果是无线电,则检查值):

$('.myInput').change(function(){
    if($(this).attribute('type')=='radio'){
        ... get the value ...
    } else {
        ... see if it's checked ...
    }
})