除非选中复选框,否则禁用输入按钮

时间:2014-04-18 08:52:14

标签: javascript php button checkbox input

所以我想禁用输入按钮功能,除非选中复选框。我不想要一个特定的复选框,但如果选中一个复选框或多个复选框,将启用按钮,这是一个删除按钮。我遇到的问题是删除按钮仅在选中第一个复选框时启用。例如,检查第二个或第三个复选框是否仍然禁用删除按钮,除非同时选中第一个复选框。

有办法解决这个问题吗?

按钮:

  <input type="submit" id="del_event" name="del_event" value="Delete Event"/>

复选框回显这是编码:

  echo 
   "<tr>
    <td><input type='checkbox' name='check' id='check'/><a href='' class='event-link'>$name</a>  
    </td><td>$date</td><td>$time</td><td>$venue</td>
  </tr>";

我正在使用的脚本是:

   var chkbox = $("#check"),
            button = $("#del_event");
       button.attr("disabled","disabled");
        chkbox.change(function(){
            if(this.checked){
                button.removeAttr("disabled");
            }else{
                button.attr("disabled","disabled");
            }
        });

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

更改复选框生成的代码,如下所示:

 echo 
   "<tr>
    <td><input type='checkbox' name='check' class='check'/><a href='' class='event-link'>$name</a>  
    </td><td>$date</td><td>$time</td><td>$venue</td>
  </tr>";

因为您想要为每个复选框触发此事件  你需要在复选框中使用class而不是id。 在jquery:

       var chkbox = $(".check");
       button = $("#del_event");
       button.attr("disabled","disabled");
       chkbox.change(function(){
            if(this.checked){
                button.removeAttr("disabled");
            }else{
                button.attr("disabled","disabled");
            }
        });