2014-01-22 22 views
1

假設我有5個通過HTML手動創建的複選框,所有這些複選框都具有屬性;名稱,類型和值。所有這些複選框在選中時觸發一個允許啓用按鈕的事件。 (代碼如下)Javascript:創建具有JS屬性的元素,不能被函數讀取

$('input[type="checkbox"]').click(function() { 
     var $this = $(this); 
     if ($this.is(':checked')) { 
      $("#deleteModalTrigger").prop("disabled",false); 
     } else { 
      $("#deleteModalTrigger").prop("disabled",true); 
     } 
    }); 

現在,我通過javascript創建另一個複選框,並將它附加到表中的一行。它出現在視圖中,但檢查它並不會觸發上面的代碼,即使它也是一個複選框。

  var column1 = document.createElement('td'); 
      var cb1 = document.createElement('input'); 
      cb1.type="checkbox"; 
      cb1.name="foo"; 
      cb1.value="Something-cbvalue-0"; 
      column1.setAttribute("rowspan","2"); 
      column1.appendChild(cb1); 
      row.appendChild(column1); 

任何幫助表示讚賞!謝謝。

回答

4

的複選框是DOM被加載

$('input[type="checkbox"]').click(function() { 

這個點擊事件不會綁定到新添加的元素 嘗試使用

$(document).on('click','input[type="checkbox"]',function() { 
+0

謝謝主席先生!這工作:)所以說,我不能接受你的答案是正確的11更多分鐘。一旦時間到了,我會將其標記爲正確。再次感謝你! – Growlithe

0

您可以使用上功能後動態添加獲取新創建的複選框的更改事件。在該功能內部,您可以檢查選中的屬性並將目標按鈕設置爲啓用或禁用。

的$(document)。在( '變', 'yourCheckboxID',函數(){

if($(this).prop('checked')) 
     { 

      //Disable or enable the button 

     } 

}) 
相關問題