2013-09-27 79 views
3

好的,所以我有一個複選框表。一旦我的頁面加載,可能會檢查其中一些複選框,其中一些可能未選中。我需要感知任何一個複選框的狀態變化,並且一旦按下提交按鈕,我需要根據是否已選中狀態更改的複選框來執行某些操作。檢查複選框狀態是否改變,同時按下提交按鈕

這裏就是我現在寫的:

$('new_user_form').submit(function(){ 
    $("input[type='checkbox']").change(function() { 
    $('#new_user_form *').filter(':checkbox').each(function(){ 
       if(this.checked) 
       { 
       alert("Do something!"); 
       } 
       else 
       { 
       alert("Do something else!"); 
       } 
     }); 
    }); 
}); 

這是行不通的。如果複選框更改條件與表單提交條件,我可以合併檢查嗎?

我需要幫助,我正在嘗試做什麼。

更新

因此,這裏是我現在使用基於我得到的答案是什麼。還是行不通。我希望確保腳本能夠響應複選框狀態的變化以及複選框狀態的變化並單擊按鈕。

$("input[type='checkbox']").change(function() { 
    $('#new_user_form *').filter(':checkbox').each(function(){ 
       if($(this).is(":checked")) 
       { 
       alert("Checkbox checked!"); 
       $('#new_user_form ').submit(); 
     { 
      alert("Checkbox checked and submit clicked!"); 
      //Do something 
     }); 

      } 
      else 
      { 
       alert("Checkbox unchecked!"); 
      $('#new_user_form ').submit(); 
     { 
      alert("Checkbox unchecked and submit clicked!"); 
      //Do something else 
       }); 
      } 
    }); 
}); 

回答

0
$("input[type='checkbox']").change(function() { 
    $('#new_user_form *').filter(':checkbox').each(function(){ 
       if($(this).is(":checked")) 
       { 
       alert("Do something!"); 
       $('#new_user_form ').submit(); //for submit form use in any if else as your requirement 
       } 
       else 
       { 
       alert("Do something else!"); 
       } 
     }); 
    }); 

參考checked

+0

看看我的更新 – Anon

0

嘗試使用defaultChecked屬性來檢查複選框的狀態是否被改變

$("input[type='checkbox']").change(function() { 
    $('#new_user_form :checkbox').filter(function(){ 
     return this.checked != this.defaultChecked 
    }).each(function() { 
     if (this.checked) { 
      alert("Do something!"); 
     } else { 
      alert("Do something else!"); 
     } 
    }); 
}); 
+0

看看我的更新。 – Anon

相關問題