2011-02-22 106 views
1

通過ajax我建立一個動態的html行到一個表,並追加通過jQuery的行。 我添加一個複選框到我的行中的單元格並返回該行。 單擊複選框時,問題不會出現。 我可以看到複選框。 我停留在警報中以查看返回的文本的值。 我是否需要添加某種類型的OnClick事件才能使支票顯示?無法檢查動態HTML複選框

$(table).append(row); 
value of row 
<table> 
    <tr> 
     <td><input type="checkbox" name="vehicle1" value="Bike" /> 
     </td> 
    </tr> 
</table> 

編輯Ajax代碼:

function BindRows(id) { 
    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/GetTable", 
     data: "{'id':'" + id + "'}", 
     contentType: "application/json", 
     dataType: "json", 
     success: function(data) { 
      var name = data.d[0]; 
      var status = data.d[1]; 
      var row = data.d[2]; 
      var table = '#' + name + '_table_status' + status; 

      $('#<%= lblConfirmMsg.ClientID %>').html(row); 
      if (status.length > 0) { 
       $(table + ' tr').remove(); 
       $(table).append(row); 
       alert(row); 
      } 

     }, 
     error: function(request, error) { 
      $('#<%= lblConfirmMsg.ClientID %>').html("ERROR: " + error); 

     } 
    })    
    return false; 
} 
+2

沒有複選框應該默認工作,給一個鏈接到你的頁面,或一些代碼,所以我們可以看到你錯在哪裏 – Val 2011-02-22 19:59:13

+0

我認爲活功能可以幫助http://api.jquery.com/live/ – 2011-02-22 20:02:19

回答

0
after append the row 
$('input[type=checkbox]').live('click', function() { 
       var o = $(this); 
       o.append("checked='yes'"); 
      }); 
1

你有onClick事件處理程序,要麼複選框,TD或TR設置?如果是這樣,你不應該從它返回false,因爲它會阻止複選框被檢查。

4

只是有一些類似的問題(按鈕/複選框沒有做什麼),因爲我已經調用event.preventDefault()在不太好地方。也許這也是你的情況;)

1

這發生在父HTML元素具有不返回true的onClick屬性時。

確保所有家長的onClick屬性結尾是這樣的:

的onClick = 「...你的代碼...;返回true;」

和你很好。