#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. и в случае, если ваш ответ может решить эту проблему, автор был бы признателен, если бы он увидел некоторые объяснения