2011-03-14 69 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