【问题标题】:jQuery update DOM and have change() method runjQuery 更新 DOM 并运行 change() 方法
【发布时间】:2013-12-22 17:46:46
【问题描述】:

我有一堆复选框,我想在它们的状态被切换时触发回调,所以我添加了这个(工作)行:

$('.main').change(mainChecked);

然后在 mainChecked 方法中,我查看“this”变量并执行适当的操作,无论它是否被检查。现在,在我的代码的其他地方,我想检查其中的一些,所以我就这样做了:

$('[data-auto-select]').attr('checked', 'checked');

我的问题是,虽然它们确实被检查了,但 mainChecked() 函数并没有被调用。如何检查它们以使 mainChecked() 方法也自动被调用?

【问题讨论】:

标签: javascript jquery javascript-events


【解决方案1】:

当您使用脚本更改输入元素的值时,不会触发更改事件,尽管您可以manually trigger

$('[data-auto-select]').prop('checked', true).change();
//or $('[data-auto-select]').prop('checked', true).trigger('change');

也可以使用.prop() 来设置检查状态,而不是.attr()

【讨论】:

    猜你喜欢
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    相关资源
    最近更新 更多