2014-03-12 93 views
0

我正在動態創建HTML表格,並在表格標題列中選中了複選框和文本。有些複選框在初始加載時被選中,有些未被選中。之後,我在我的HTML表格上應用數據表插件。但是,當我檢查或取消選中標題中的某些複選框並嘗試讀取新值時,我始終會在創建複選框時獲取原始值。從JQuery中讀取複選框值Datatable頭文件

下面是我如何讀欄的複選框值

var columns = $('#myTable').dataTable().dataTableSettings[0].aoColumns; 
$.each(columns, function (i, v) { 
    var object = jQuery.parseHTML(v.sTitle);//innerHTML of input type='checkbox' 
    if (object != null) { 
     chkbox = object[0]; //object[1] is Text 
     isChecked=chkbox.checked; 
    } 
}); 

編輯 我的HTML爲初始加載

檢查,未選中複選框選中複選框

<input style='margin-right:5px' onclick=EnableDisableColumn(this); id='" + id+ "'  **checked='checked'** type='checkbox' Value='" + value + "' name='" + name+ "' />" 

For Un-Check複選框

<input style='margin-right:5px' onclick=EnableDisableColumn(this); id='" + id+ "'  type='checkbox' Value='" + value + "' name='" + name+ "' />" 
+0

你應該有你'的onclick ='引用,比如'的onclick = 「」' – davidkonrad

+0

我有onclik方法以及我通過 「本」到那個方法並且工作正常。它的唯一當我點擊我的頁面上的「保存」按鈕,並嘗試閱讀複選框。 –

+0

這是一般性建議,與您試圖執行的功能或一般問題無關,除非onclicks可能在某些瀏覽器中被打破,並且它肯定不會通過驗證器測試。 – davidkonrad

回答

1

dataTables不響應DOM中的更改,並在複選框被選中時奇蹟般地更新其內部變量。數據表在任何情況下都返回<th>的內容,就像表初始化時一樣。從dataTables的角度來看,<th>的內容只是純文本的一種。

爲什麼要繞過dataTable?頭文件和複選框可以在javascript或jQuery中完全訪問,與我們一樣沒有dataTables。

下面是一個例子 - >http://jsfiddle.net/XTpKH/

var dataTable = $('#example').dataTable(); 

$('th').click(function() { 
    var msg = 'this header checkbox is '; 
    msg += $(this).find('input[type="checkbox"]').is(':checked') ? ' ' : 'not '; 
    msg +='checked' 
    alert(msg); 
}); 
+0

感謝您的回覆,但我需要數據表來修復我的表頭和表頭的第一列。 –

+0

dataTables修復什麼?上述內容不會單擊數據表單,無論您想要dataTables做什麼。 – davidkonrad

+0

使用數據表擴展我的HTML表,這樣當我垂直滾動和水平滾動時,我的表格標題和表格的第一列保持固定。 –