2011-03-14 72 views
0

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

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

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

下面是并发症 - 我需要调用相同的事件处理程序,无论它是否连接到复选框或单选按钮。

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

想法?

+0

显示你的jQuery。 – 2011-03-14 17:06:34

回答

4

使用onChange触发事件。然后,你可以检查TYPE属性并在那里分割逻辑(如果复选框,检查它是否被选中,如果是收音机,然后检查值):

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

下面是演示DA建议的小提琴:http://jsfiddle.net/hMRqm/ – fehays 2011-03-14 17:45:54