为什么.trigger('更改')无效?

时间:2015-07-16 05:12:05

标签: javascript jquery

获得了这段代码,效果很好。但是.trigger('更改')无效。

$(function () {
        $('form').each(function () {
            var form = $(this);
            form.find('.cbox1').change(function () {
                if (form.find('.cbox1:checked').length) {
                    form.find('.cbox2, .cbox3').button("enable");
                } else {
                    form.find('.cbox2, .cbox3')
                            .prop("checked", false)
                            .trigger("change")
                            .button("refresh")
                            .button("disable", "disable");
                }
            });
        });
    });

我知道这可能是一件简单的事情,但是对于像我这样的菜鸟,它已经杀了我,已经阅读和学习了好几天......

非常感谢任何知识/协助, 硅

2 个答案:

答案 0 :(得分:0)

工作正常。尝试添加此行,您将看到触发了cbox2更改。

$('form').find(".cbox2").on("change", function() {alert("cbox2 triggered")});

答案 1 :(得分:0)

当您触发更改时,您会在.cbox2.cbox3上触发更改。但是,您没有为这些元素添加任何更改事件的侦听器。更改事件的侦听器仅附加到.cbox1。如果这是您想要触发的侦听器,则调用trigger("change")上的.cbox1或为其他两个元素添加事件侦听器。