DataTable – 在jQuery中获取所有选定行的简便方法

我如何从jQuery DataTable ( https://datatables.net )获取所有选定的行。

这里在stackoverflow中找到了计算所选行的方法,但是我需要将选定的行数据抛到下一个JavaServletPage来使用它。

我的DataTables代码配置:

            $(document).ready(function() { var lastBksId = null; var rowClass = "odd" var table = $('#table_view').DataTable({ scrollX: true, scrollY: '76vh', order: [[ 0, "desc" ]], scrollCollapse: true, paging: false, info: false, ordering: false, searching: false, fnRowCallback: function(row, data, index){ if (lastBksId == null){ lastBksId = data[0]; } if (lastBksId == data[0]){ row.className = rowClass; } else { if (rowClass == "odd"){ rowClass = "even"; } else {rowClass = "odd"; } row.className = rowClass; lastBksId = data[0]; } } }); $('#table_view tbody').on( 'click', 'tr', function () { $(this).toggleClass('selected'); } ); } );  

HTML – 表格:

  
<% EntityManager em = Persistence.createEntityManagerFactory("man-jpa").createEntityManager(); int pageSize = 200; Class entyClass = NlHist.class; CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = builder.createQuery(entyClass); Root from = criteriaQuery.from(NlHist.class); CriteriaQuery select = criteriaQuery.select(from); CriteriaQuery where = criteriaQuery.where(builder.isNotNull(from.get("pfcM"))); //CriteriaQuery having = criteriaQuery.having(builder.gt(builder.count(from.get("id")), 1)); TypedQuery typedQuery = em.createQuery(select); typedQuery.setFirstResult(0); typedQuery.setMaxResults(pageSize); List rows = typedQuery.getResultList(); // Getting Table Headers [...] %>
${id} ${idm} ${sim} ${nim} ${onkz} ${rfnr} ${toid} ${inlief} ${bkto} ${kdnr} ${sta} ${stat} ${ints} ${lats} ${rv} ${rvf} ${pfc} ${pfcm} ${ps} ${pa} ${ts} ${ra} ${iaid} ${aa} ${io}
${bksid} ${bksidm} ${sim} ${nim} ${onkz} ${rfnr} ${toid} ${inlief} ${bkto} ${kdnr} ${sta} ${stat} ${ints} ${lats} ${rv} ${rvf} ${pfc} ${pfcm} ${ps} ${pa} ${ts} ${ra} ${iaid} ${aa} ${io}

是一种在我的JS中编写函数的方法 – 配置 – 部分?

像这些:

 $('#...').on( ' ', ' ', function () {  } ); 

任何帮助,将不胜感激 !

您可以迭代行数据

 $('#button').click(function () { var ids = $.map(table.rows('.selected').data(), function (item) { return item[0] }); console.log(ids) alert(table.rows('.selected').data().length + ' row(s) selected'); }); 

演示: 演示示例