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

时间:2016-03-15 19:47:54

标签: javascript jquery html

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

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

http://jsfiddle.net/nvanh/eomesgya/

当我尝试使用以下内容提交表单时出现问题:

    $('#filter_form').on('change', function () {
        console.log('submit');
    });

如果我更改了选项选项,则事件触发,但是当我选中复选框时则不是。

以下是完整的代码:

http://jsfiddle.net/eomesgya/2/

3 个答案:

答案 0 :(得分:1)

您需要将其绑定到表单中的每个输入元素,而不仅仅是表单本身。也许尝试像

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

https://api.jquery.com/submit/如果你需要的话。

答案 1 :(得分:1)

如果您手动更改已检查状态,则应手动触发更改事件:

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

答案 2 :(得分:0)

您应该将Change Event绑定到表单的每个输入,此事件应该从表单中触发Submit事件。

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

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

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

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