2016-06-13 39 views
2

基本上我有一個dataTable顯示數據庫中的所有記錄,併爲表格中的每一行顯示一個複選框。我的桌子有多個頁面。問題是我只能得到當前頁面的複選框值,因爲系統只能看到可見的複選框。我想要獲取特定的檢查值或來自不同頁面的所有檢查值,並將它們推送到陣列。我怎樣才能做到這一點?我只能得到數據表atm中當前所選頁面的選中值。我已經搜索並嘗試similar problem,但它仍然無法正常工作。如何獲取不同分頁頁面的數據表中的複選框的選定值PHP和JavaScript?

下面是我的代碼

PHP代碼,以顯示覆選框

foreach($stmt as $row){echo "<tr><td>"."<input type='checkbox' name='check_list' id='checklist' value='$row['id']' style='width:20px; height: 20px'/>"} 

Javascript代碼

function getCheckboxVals(){ 

    var check = $('input[name="check_list"]:checked').length; 
    var mycheckboxes = new Array(); 

    //IF NO CHECKBOX CHECKS 
    if(check == 0){ 
     eModal.alert('PLEASE SELECT ISSUES BEFORE YOU EXPORT CONTENTS!!!'); 
     return false; 
    } 

    //IF ONE OR MORE CHECKBOXES CHECK 
    if(check == 1){ 
     $('input[name="check_list"]:checked', table.fnGetNodes()).serialize().each(function(){ 

     mycheckboxes.push(this.value); 

    }); 
}else{ 
    $('input[name="check_list"]:checked').each(function(){ 

     mycheckboxes.push(this.value); 

    }); 
} 

}

+0

使用會話將您的值從一頁保存到另一頁 – CiroRa

+0

感謝CiroRa!我會嘗試的 – Winsanity

回答

1

問題只能夠得到的值當前頁面上的複選框來自使用DOM方法或查詢wi不要直接使用DataTables的API。爲了提高效率,DataTable僅存儲當前頁面上的值。爲了訪問必須使用使用訪問表中的其他值:

dataTable.rows().nodes().to$().find('input[type="checkbox"]').each(function(){} 

在這種情況下數據表是你定義的數據表。

此外,here是複選框值的工作版本被存儲和發送到服務器

欲瞭解更多信息請參見DOM的DataTable FAQs和主題。

相關問題