【问题标题】:How to pass values of selected checkboxes from multiple pages in Data Table如何从数据表中的多个页面传递选定复选框的值
【发布时间】:2017-02-22 06:16:22
【问题描述】:

我在引导数据表中有分页记录,每条记录都有一个复选框。假设当我单击第 1 页中的某些复选框和第 2 页中的某些复选框时,表单只会传递第 2 页中复选框的值。如何从第 1 页中检索复选框值?非常感谢任何帮助。

var checkboxes = $("input[type='checkbox']"),
    btn = $("#btnCutoff");

  //structure of table
  var table = $('#table').DataTable({

            "bLengthChange": false,
            "pageLength": 5,
            "bFilter": false 

  });

//disable button when no records are selected
btn.attr("disabled","disabled");

 checkboxes.on('click', function(event) {
    if($(this).prop('checked')){
        btn.removeAttr('disabled');
    } else {
        btn.attr("disabled",!checkboxes.is(":checked"));
    }
}); 

$("#table tbody").on("click",".clickable-row", function (event) {
    if (event.target.type !== 'checkbox') {
        $(':checkbox', this).trigger('click');
    }
}); 

当点击按钮时,它将转到一个javascript函数

function doEnquiry(){
   var f = document.frm;
   f.method = "POST";
   f.action = "test.jsp";
   f.target = "_self";
   f.submit();
}

我想将复选框值分配给这里

String curr[] = request.getParameterValues("chkTest");

谁能帮帮我?

【问题讨论】:

    标签: javascript java jquery jsp checkbox


    【解决方案1】:

    如果选中复选框,则在每个复选框上单击创建一个隐藏字段来存储其值。您可以依靠隐藏字段值来捕获您想要的所有复选框值,并且可以在服务器端轻松访问它们。

    checkboxes.on('click', function(event) {
        if($(this).prop('checked')){
            btn.removeAttr('disabled');
            $('form').append('<input type="hidden" name="fieldname" value="'+this.value+'" />');
        } else {
            btn.attr("disabled",!checkboxes.is(":checked"));
        }
    }); 
    

    【讨论】:

    • 所以,在服务器端,我只是请求“字段名”对吗?
    【解决方案2】:

    Jquery 代码

       $(document).ready(function() {  
        $('#viewlist').DataTable();  
        $("#button").click(function() {  
            var chcklist = new Array();  
            var oTable = $('#viewlist').dataTable();  
            var rowcollection =  oTable.$("#emp_name:checked", {"page": "all"});  
            rowcollection.each(function(index,elem) {  
                chcklist.push($(elem).val());    
            });  
            $.post(
                "../accounts/updateSalaryHold.jsp", 
                {list: chcklist}, 
                function (values) {  }
            );  
        });  
    });
    

    jsp页面代码

    String[] arrayVal = request.getParameterValues("list[]");
    

    【讨论】:

    • 第 3 行缺少 $。如果您的答案可以解决,作者希望能看到一些解释
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2012-01-25
    • 2019-04-10
    • 2018-01-14
    相关资源
    最近更新 更多