我有一个带有复选框的表单和最后的提交按钮。选择一个并提交表单后,它会发布到服务器,我可以更改查询,以便按该复选框值进行过滤。
HTML& JS
<input id="category-1" class="filter-checkbox" type="checkbox" value="1" name="filter-categories[]" data-fid="1" checked="">
<label for="category-1">Clothing</label>
jQuery(document).ready(function ($) {
// FILTERS
$('#form-filter .filter-options input[type="checkbox"]').change(function (e) {
$('#form-filter').submit();
});
});
如果我评论javascript规则,只需选择一个框并点击提交一切正常,但如果我打开javascript我点击链接 - 表单提交,但不会更改值。它几乎看起来像提交比更改或其他更快,因此值不会更改和发送。
ANY1?谢谢!
答案 0 :(得分:2)
您应该将click
事件与复选框一起使用,因为change
事件发生在实际更改复选框的值之前。
让我知道它是否有效。干杯!
<input id="category-1" class="filter-checkbox" type="checkbox" value="1" name="filter-categories[]" data-fid="1" checked="">
<label for="category-1">Clothing</label>
jQuery(document).ready(function ($) {
// FILTERS
$('#form-filter .filter-options input[type="checkbox"]').click(function (e) {
$('#form-filter').submit();
});
});
答案 1 :(得分:0)
您是否在表格提交活动中执行任何其他功能?通常情况下,表单可以通过复选框点击提交,如此
$('#checkbox').click(function() {
if(this.checked) {//just for checking
//Then trigger the form submit event
$("#form").trigger('submit');
}
else{
//do else.
}
});
答案 2 :(得分:0)
好吧,这让我发疯,但我解决了。我不知何故认为有一个jquery错误,就像我提交前没有选中复选框一样。事实并非如此,问题出在我的PHP中。
jQuery submit()
函数不会发送提交按钮的值。在我的PHP代码中,我检查了是否设置了提交按钮,在我看来总是如此,但现在还没有。所以if (!empty($_POST['submit-btn'])) {
是假的,我的脚本停止了工作。
谢谢你们