我使用jquery和一些输入插件,如滑块复选框等。 然而,在那种形式,我有表格更改提交(GET过滤)。 如果插件更改输入值字段,则不会触发此操作..仅当用户执行此操作时才会触发。
$(document).on('change', '.form-onchange-submit', function (e) {
$(this).submit();
});
例如,我使用此代码选择所有
$(document).on('click', ".select_all", function (e) {
e.preventDefault();
var fields = $(this).data('fields');
$("input[name='" + fields + "']").prop('checked', true);
$("input[name='" + fields + "']").each(function () {
var input_id = $(this).attr('id');
$('label[for="' + input_id + '"]').removeClass('selectable-deselected').addClass('selectable-selected');
});
});
如何在单击select_all时自动提交表单?
答案 0 :(得分:0)
似乎你想要结合两个事件。您可以将多个事件与多个选择器组合在一起。
e.type
e.target.id
示例强>
$(".select_all, #form-onchange-submit").on("click change", function(e){
if(e.type === "change"){
//DO STUFF UNIQUE TO CHANGE
}
else if(e.type === "click") {
//DO STUFF UNIQUE TO CLICK
}
//DO STUFF THAT IS THE SAME
});
如果您想手动触发事件,也可以使用.trigger()
。
$('#element').trigger('click');
答案 1 :(得分:0)
$(".select_all").click(function(e) {
e.preventDefault();
var fields = $(this).data('fields');
$("input[name='" + fields + "']").prop('checked', true);
$("input[name='" + fields + "']").each(function () {
var input_id = $(this).attr('id');
$('label[for="' + input_id + '"]').removeClass('selectable-deselected').addClass('selectable-selected');
});
$('.form-onchange-submit').submit();
});