如何从datatable中获取选定的值

时间:2016-04-11 13:26:36

标签: jquery datatables

我整个周末都很适合这个,所以我希望在这里能找到答案:

我使用json在服务器端调用http://datatables.net/examples/server_side/select_rows.html,但我无法从数据表中获取所选项目以将其设置为隐藏的输入(通过Struts操作传递)对于后端进程),所以数据的选择工作正常,但我无法在DataTable API中找到如何获取所选行的值,如:

$("#myHiddenValues").val(datatableSelectedValues);

var datatableSelectedValues是包含rowsId(或其他一些对象)的数组,其中包含我需要的数据,

谢谢:)

1 个答案:

答案 0 :(得分:5)

table.rows({selected: true}).data())返回您选择访问对象的对象数组必须迭代并通过索引访问它们。例如,如果您需要展示namepositionoffice

HTML CODE

<table id="example" class="display DataTable" cellspacing="0" width="100%">
<thead>
    <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Office</th>
        <th>Age</th>
        <th>Start date</th>
        <th>Salary</th>
    </tr>
</thead>

<tbody>
    <tr>
        <td>Tiger Nixon</td>
        <td>System Architect</td>
        <td>Edinburgh</td>
        <td>61</td>
        <td>2011/04/25</td>
        <td>$320,800</td>
    </tr>
</tbody>

JS CODE

$(document).ready(function() {
var oTable = $('#example').DataTable();

$('#example tbody').on( 'click', 'tr', function () {
    $(this).toggleClass('selected');
    var pos = oTable.row(this).index();
    var row = oTable.row(pos).data();
    console.log(row);
} );

$('#button').click( function () {
    var oData = oTable.rows('.selected').data();

    for (var i=0; i < oData.length ;i++){
       alert("Name: " + oData[i][0] + " Position: " + oData[i][1] + " Office: " + oData[i][2]);
    }

} );
} );

结果:https://jsfiddle.net/cmedina/7kfmyw6x/40/

相关问题