javascript - Jquery onclick 似乎阻止了复选框检查

标签 javascript jquery html checkbox

我有一个如下所示的表单:

enter image description here

表单 ID 是“filter”,我有一个 jquery onclick 函数,它使用以下行运行代码:

$(document).on('click', '#filter', function(){
    //on click do the following

这非常有效。不过,我现在已在表单中添加了一个复选框。表单的其余部分继续完美工作,但复选框“不可选中”! (如果它们被设置为预先检查,则它们将保持预先检查状态,如果它们被设置为未检查,则它们将保持未检查状态)。

我唯一能想到的是 jquery on click 函数覆盖了复选框的检查。会是这样吗?我可以通过使用 blur 而不是 click 来纠正问题,但理想情况下代码将在单击时运行,并且在任何情况下我都想了解发生了什么!有什么想法吗?

<小时/>

编辑

这是点击处理程序的内容:

$(document).on('click', '#filter', function(){
    //on click do the following




        var formData = $(this).serialize(); //put the form names and values into an array called formdata
        $.get('filtertest.php',formData,processData); //jquery ajax call

        function processData(data){
            if(data==1){
            $('#content').html('<h2>There is ' + data + ' property available!</h2>');
            $('#linky').show();
            }
            else if(data==0){
            $('#content').html('<h2>There are no properties available, please expand your search options.</h2>');
            $('#linky').hide();
            }
            else{
            $('#content').html('<h2>There are ' + data + ' properties available!</h2>');
            $('#linky').show();
            }
        }//end processData

        return false; //stops the page redirect as per normal operation
        });//end submit

基本上,click 函数从数据库中的表单查找匹配的详细信息,并返回要放入 processdata 函数中的匹配行数

最佳答案

此行阻止检查复选框:

return false; //stops the page redirect as per normal operation

使用return false将停止事件传播并阻止默认行为。复选框的默认行为是在单击时选中/取消选中自身。您也许可以通过将其更改为来解决此问题:

e.stopPropagation();

这应该让默认行为继续,而不传播随后将触发的任何其他事件。

或者,如果不再需要,您可以将其取出(根据您的评论)。

关于javascript - Jquery onclick 似乎阻止了复选框检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22027727/

相关文章:

javascript - 无法更新函数内的变量

JavaScript 无法在生产环境中运行

javascript - 使用带有 jquery 的 attr() 保持大写(区分大小写)

javascript - 在 Canvas 中旋转 Sprite

javascript - 仅内联处理程序有效

javascript - 将鼠标悬停在表格上时显示带有信息的 div 不起作用

javascript - 如何在表中添加数据

javascript - 如何在nodeJS中向mysql添加map对象?

javascript - 我如何在 document.getElementsByClassName 中添加 2 个 div

javascript - 克隆具有唯一 ID 的输入字段