如何从datatable中获取选定的值

Enr*_*tín 0 jquery datatables

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

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

$("#myHiddenValues").val(datatableSelectedValues);
Run Code Online (Sandbox Code Playgroud)

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

谢谢 :)

CMe*_*ina 6

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

HTML代码

<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>
Run Code Online (Sandbox Code Playgroud)

JS代码

$(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]);
    }

} );
} );
Run Code Online (Sandbox Code Playgroud)

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