2013-06-27 55 views
2

在我的頁面中,我確實沒有任何複選框。因爲我正在檢查其中的一些,我需要過濾其餘的複選框,並需要在這些複選框上添加分隔符事件。我這樣做:jquery如何從表單中過濾未經檢查的複選框

var userLocales = $('input[type="checkbox"]', "form").filter(function(){ 
       return $(this).val() === value["name"] 
      }).prop("checked",true); 

      $(userLocales).click(function(){ 
       $(this).parent().toggleClass("red"); 
      }) 

      $('input:checkbox:not("checked")', "form").not(userLocales).click(function(){ 
       $(this).parent().addClass("green"); //this is not working.. it works even for not selected elements.. 
      }) 

但不工作。要完成這件事pelase任何正確的方法..?

回答

5

您需要在選擇器中使用:checked

嘗試:

$('input:checkbox:not(":checked")', "form") 

,而不是

$('input:checkbox:not("checked")', "form") 
+0

可以請你看看我的代碼,我用這個了。但我的意圖是它不應該發生在我的「userLocales」 - 元素 – 3gwebtrain

+0

你可以在小提琴中複製它嗎?問題是你的代碼有很多因素仍然不清楚。小提琴會幫助! – PSL

0

試試這個,

$('input:checkbox:not(":checked")', "form").on('click',function(){ 
    $(this).parent().addClass("green"); 
}); 
+0

不,有沒有機會選擇「userLocales」 - 當這是未選中.. – 3gwebtrain

+0

@ 3gwebtrain更新檢查上面的一個我已經做了修改。 –

+0

當然讓我試試。 – 3gwebtrain

3

既然你知道如何在首位的複選框,可以考慮:

checkboxes$.filter(':checked').... 

或:

checkboxes$.filter(':not(:checked)').... 
相關問題