我想要的是计算文章列表中的哪些复选框被选中,并且我正在选择“toDel”jquery变量。
然后,如果“toDel”仍为空,我想停止提交表单,如果有的话,我正在进行操作,将“toDel”值添加到隐藏字段值。
如果选中它一切正常,但是如果我点击按钮并且没有选择chechbox,那么“return false”会以某种方式停止,而当我选择新的复选框时,我无法进入“正确”的代码部分。
我在这里查了一下,并发现我不能使用“return false”所以我尝试使用验证器变量,但它的行为相同。
$(document).ready(function(){
$("#jqdeleteselected").on("click", function(){
var toDel='';
$('.jqchkbx').each(function() {
if ($(this).attr('checked')) {
toDel += ($(this).attr('value')+',')
}
});
console.log(toDel);
$("#send").submit(function() {
var valid = true;
if (toDel != '') {
$('#boxevi').val(toDel);
console.log('filled');
}
console.log('empty');
valid = false;
});
return valid;
});
});
<form method="POST" action='.$_SERVER['REQUEST_URI'].' name="send" id="send">
<input type="hidden" id="boxevi" name="boxevi" />
<input type="submit" id="jqdeleteselected" value="Obriši označene">
<input type="submit" name="addnew" value="Dodaj novi artikl" /></form><br /></div>';
答案 0 :(得分:1)
您只需要处理submit
事件:
$(document).ready(function(){
$("#send").submit(function() {
var toDel='';
$('.jqchkbx').each(function() {
if ($(this).attr('checked')) {
toDel += ($(this).attr('value')+',')
}
});
console.log(toDel);
if (toDel != '') {
$('#boxevi').val(toDel);
console.log('filled');
}else{
console.log('empty');
return false;
}
});
});
答案 1 :(得分:0)
您只需要处理提交,您可以使用:选中的选择器来加快检查速度
$(document).ready(function(){
$("#send").submit(function() {
var toDel='',
$this = $(this),
checkd = $(".jqchkbx:checked");
checkd.each(function() {
toDel += $(this).val() + ',';
});
console.log(toDel);
if (checkd.length > 0) {
$('#boxevi').val(toDel);
console.log('filled');
}else{
console.log('empty');
return false;
}
});
});