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
                }); 
             }
   });
}); 
4

2 回答 2

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!");
              }
         });
  });

参考检查

于 2013-09-27T04:49:38.917 回答
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!");
        }
    });
});
于 2013-09-27T04:49:58.067 回答