2014-04-18 66 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

相關問題