【问题标题】:Sending DataTable selected rows array to jsp将DataTable选定的行数组发送到jsp
【发布时间】:2017-06-22 10:14:52
【问题描述】:

我有一个具有多选功能的 Jquery DataTable。此外还有一个按钮和一个 div 元素:

    <script>
            $(document).ready(function() {
                        var tablemovChAf  = $('#movChAf').DataTable({

                        //multiselect       
                        $('#movChAf tbody').on('click', 'tr', function () { 
                                $(this).toggleClass('selected');            
                        } );

            })
    </script>

    <button name="sbmsimulate" class="button-input btn btn-info" id="sbmsimulate" style="info" type="button" >
    <div id="divAccMovement"></div>

我想要的是通过单击按钮将所有选定的行发送到“accMovement.jsp”。

$('#sbmsimulate').click( function () {

    $('#divAccMovement').load('accMovement.jsp',{
        mode:"2",
        arrayData:tablemovChAf.rows('.selected').data()
    });

} );    

我的 jsp accMovement.jsp 看起来像这样;

<%
String str_mode=request.getParameter("mode").toString();
String[] arrayData=null;

if (str_mode.equals("2")) {
    arrayData=request.getParameterValues("arrayData[]");
}

%>

我尝试了以下解决方案:Passing javascript array to servlet(事实上,这就是我所做的)但它对我不起作用。当我点击按钮时没有任何反应。

我在调试,看来问题出在:

arrayData:tablemovChAf.rows('.selected').data()

因为,如果它被注释(并且 jsp 中的“if”语句也被注释)它正在工作。但是我需要将选定的行发送到 jsp 页面。

从客户端发送数组并在服务器上接收数组的正确方法是什么?

提前致谢。

【问题讨论】:

    标签: javascript jquery jsp datatables


    【解决方案1】:

    我找到了一个不适合我的案例的解决方案(在此 jQuery DataTables Getting selected row values 之后),它并不完全符合我的需要,但我可以稍后添加一些语句以实现我的目标

        $('#sbmsimulate').click( function () {
    
            var ids = $.map(tablemovChAf.rows('.selected').data(), function (item) {
                return item[11]
            });
    
            $('#divAccMovement').load('accMovement.jsp',{
                mode:"2",
                arrayData:ids
                });
        } );
    

    索引11的列是我的dataTable的id,所以在服务器端我可以得到每一行的所有信息。

    但是我想避免这一步:

        var ids = $.map(tablemovChAf.rows('.selected').data(), function (item) {
            return item[11]
        });
    

    并指定参数中的所有内容,如下所示:

    arrayData:tablemovChAf.rows('.selected').data()
    

    【讨论】:

      猜你喜欢
      • 2014-03-19
      • 2014-08-30
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多