Как передавать значения выбранных флажков с нескольких страниц в таблице данных

#javascript #java #jquery #jsp #checkbox

#javascript #java #jquery #jsp #флажок

Вопрос:

У меня есть записи в таблице данных начальной загрузки, которая имеет разбивку на страницы, и каждая запись будет иметь флажок. Допустим, когда я нажимаю некоторые флажки на странице 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");
  

Кто-нибудь может мне помочь?

Ответ №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"));
    }
}); 
  

Комментарии:

1. итак, на стороне сервера я просто запрашиваю «fieldname», верно?

Ответ №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[]");
  

Комментарии:

1. в $ строке 3 отсутствует a. и в случае, если ваш ответ может решить эту проблему, автор был бы признателен, если бы он увидел некоторые объяснения