Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery提交任何输入更改的表单_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery提交任何输入更改的表单

Javascript 使用jQuery提交任何输入更改的表单,javascript,jquery,html,Javascript,Jquery,Html,我有一个使用选择和复选框的表单 对于复选框,我使用以下方法: 当我尝试提交任何更改的表单时,出现了以下问题: $('#filter_form').on('change', function () { console.log('submit'); }); 如果我更改选择选项,事件将触发,但当我选中复选框时,事件不会触发 以下是完整的代码: 您需要将它绑定到表单中的每个输入元素,而不仅仅是表单本身。也许试试类似的东西 $('#filter_form input')

我有一个使用选择和复选框的表单

对于复选框,我使用以下方法:

当我尝试提交任何更改的表单时,出现了以下问题:

    $('#filter_form').on('change', function () {
        console.log('submit');
    });
如果我更改选择选项,事件将触发,但当我选中复选框时,事件不会触发

以下是完整的代码:


您需要将它绑定到表单中的每个输入元素,而不仅仅是表单本身。也许试试类似的东西

$('#filter_form input').each(function() { 
   $(this).on('change', function () {
        console.log('submit');
        // Do submission stuff, submit form
    });
});

如果需要,也可以。

您需要将它绑定到表单中的每个输入元素,而不仅仅是表单本身。也许试试类似的东西

$('#filter_form input').each(function() { 
   $(this).on('change', function () {
        console.log('submit');
        // Do submission stuff, submit form
    });
});

如果需要,也可以。如果手动更改选中状态,则应手动触发更改事件:

$('.dropdown-menu a').on('click', function (event) {
    ....
    setTimeout(function () {
        $inp.prop('checked', true);
        $inp.trigger('change'); // add this line
    }, 0);
    ....
    return false;
});

如果手动更改选中状态,则应手动触发更改事件:

$('.dropdown-menu a').on('click', function (event) {
    ....
    setTimeout(function () {
        $inp.prop('checked', true);
        $inp.trigger('change'); // add this line
    }, 0);
    ....
    return false;
});

您应该将更改事件绑定到表单的每个输入,此事件应该触发表单中的提交事件

$("#post-editor :input").each(function(){

    // Every input of your form on $(this) scope

    $(this).on('change', function () {

        $("#post-editor").submit();
    });
})

您应该将更改事件绑定到表单的每个输入,此事件应该触发表单中的提交事件

$("#post-editor :input").each(function(){

    // Every input of your form on $(this) scope

    $(this).on('change', function () {

        $("#post-editor").submit();
    });
})

但是,在用户完成复选框的选择之前,您并不想提交表单。在每次单击复选框后提交表单是不好的。从HCI的角度来看,每次检查后提交没有意义您确定不应该在这里使用单选按钮吗?我需要这样做才能在房地产网站上显示实时结果。如果您选中一个城市,则显示结果,如果您选中另一个显示两个值的结果。那么我认为您不想在单击复选框时提交表单,我想你想发起一个AJAX调用。是的,但我想提交,以便根据表单id在AJAX中轻松获得所有post参数。你有何建议?在用户完成选中复选框之前,你并不真的想提交表单。在每次单击复选框后提交表单是不好的。从HCI的角度来看,每次检查后提交没有意义您确定不应该在这里使用单选按钮吗?我需要这样做才能在房地产网站上显示实时结果。如果您选中一个城市,则显示结果,如果您选中另一个显示两个值的结果。那么我认为您不想在单击复选框时提交表单,我想你想发起一个AJAX调用。是的,但我想提交,以便根据表单id在AJAX中轻松获得所有post参数。你有何建议?你在他的小提琴中测试过吗?小提琴似乎对我来说是坏的。你在他的小提琴中测试过吗?小提琴似乎对我来说是坏的。