2014-04-18 64 views
2

所以我想禁用输入按钮功能,除非复选框被选中。我不想要一个特定的复选框,但是如果复选框或多个复选框被选中,那么将启用作为删除按钮的按钮。即时通讯的问题在于,只有当第一个复选框被选中时才启用删除按钮。比如说第二个或第三个复选框被选中,删除按钮仍然被禁用,除非第一个复选框被选中。除非复选框被选中,否则禁用输入按钮

有没有办法解决这个问题?

按钮:

<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>"; 

使用脚本IM是:

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

任何帮助表示赞赏。

+0

'#check'作为标识符是你的主要问题 - 一个'id'应该是完全独特的:只有1个在页面元素。 – Helpful

回答

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>"; 

既然你是想激发这个事件 你需要使用类,而不是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"); 
      } 
     }); 
+0

啊..真的没有想到attr只是认为这是js概率。谢谢!!! – user2395639

相关问题