我正在使用
jquery datatables plugin.
我只有一个直接的HTML表格布局.
<table class="display" id="contactsTable"> <thead> <tr> <th>Id</th> <th>Email</th> <th>Name</th> <th>Phone</th> <th>City</th> <th>State</th> <th>Arrival</th> <th>Departure</th> <th>Inserted</th> <th>Check</th> </tr> </thead> <tbody> <tr> <td>301</td> <td>email address</td> <td>Test</td> <td></td> <td></td> <td></td> <td>July 14 2011</td> <td>July 23 2011</td> <td>April 12 2011 07:05</td> <td><input type="checkBox" name="selected[]" value="301" class="chkBox"/></td> </tr> <tr> <td>300</td> <td>email</td> <td>Test</td> <td></td> <td></td> <td></td> <td>September 02 2011</td> <td>September 10 2011</td> <td>April 11 2011 12:01</td> <td><input type="checkBox" name="selected[]" value="300" class="chkBox"/></td> </tr>
这是我的提交代码(只是临时).
<input id="submitButton" type="submit" value="Submit" onclick="test()" />
我的javascript将复选框映射到数组.
function test() { var values = $('input:checkBox:checked.chkBox').map(function () { return this.value; }).get(); console.log(values); }
这是数据表代码
$(document).ready(function() { var selected; var selectedOutput = '#selectedOutput'; var template = 'selectedTemplate'; var submitButton = '#submitButton' var dTable = $('#contactsTable').dataTable({ "bJQueryUI": true,"sPaginationType": "full_numbers","bPaginate": true,"bLengthChange": true,"bFilter": true,"bSort": false,"bInfo": true,"bAutoWidth": false,"bProcessing": true,"aoColumns": [ {"bVisible": false },//keep the id invisble null,null,null ] });
问题是,我无法跨页面选择复选框.该表有多个页面.如果我单击“提交”,它只会提交我当前页面的复选框数组.
我希望这很清楚.我不确定发生了什么.谢谢你的帮助.
解决方法
我想你可能会看看
this,它可能会解决你的问题.
这个例子可能对你有帮助,因为它似乎正是你的情况(这个使用fnGetNodes(),而在另一个链接中解释了如果第一个函数不起作用如何使用fnGetHiddenNodes()):http://datatables.net/examples/api/form.html