复选框触发更改事件

米林德

我正在验证某些数据,然后我正在动态检查复选框,并且我想触发复选框的更改事件。

$("#chk").prop("checked", true).trigger("change");

更改事件

$("#chk").change(function () {
            if ($(this).is(':checked')) {
                if (localStorage.getItem('A') == undefined && sessionStorage.getItem('A') == null) {
                    location.href = "/" + lang.split('-')[0] + "/login.aspx";
                }
                $("#dvClass").hide();
                $("#dvPromoCode").hide();
                $("#resultby").empty();
                $("#resultby").append('<option selected value="Flex">' + Res.flexidates + '</option>');
            }
            else {
                $("#dvClass").show();
                $("#dvPromoCode").show();
                $("#resultby").empty();
                $("#resultby").append('<option value="AirAvailability">' + Res.schedule + '</option>');
                $("#resultby").append('<option selected value="Flex">' + Res.flexidates + '</option>');
            }
        });

但它不会触发更改事件。但是如果我从控制台执行,它会按预期工作。我想知道有什么问题。

苏雷什·蓬努卡莱

函数的顺序在这里很重要。

您已经在设置复选框值之前放置了更改事件。看看下面的代码。

 $("#chk").prop("checked", "checked").trigger("change");

 $("#chk").change(function() {
    alert("triggered!"); 
 });

以上将不起作用,因为当 jquery 为第一行运行时,复选框没有任何更改事件。您可以在此Fiddle 中检查相同的内容

现在在调用它之前放置您的更改事件函数,如下所示。

 $("#chk").change(function() {
    alert("triggered!"); 
 });

 $("#chk").prop("checked", "checked").trigger("change");

现在您可以得到预期的结果。您可以在此Fiddle 中检查相同的内容

总是更好地将on事件用于动态添加的元素,如下所示。

$("#chk").on('change', function() {
    alert("triggered!"); 
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

触发复选框的更改事件

来自分类Dev

以编程方式更改复选框不会触发更改事件

来自分类Dev

选中复选框并触发更改事件javascript

来自分类Dev

Bootstrap复选框不会触发更改事件

来自分类Dev

选中每个复选框时触发更改事件

来自分类Dev

jQuery无法触发列表复选框更改事件

来自分类Dev

复选框更改事件触发两次

来自分类Dev

选中复选框并触发更改事件javascript

来自分类Dev

jQuery自动触发复选框事件

来自分类Dev

复选框onchange事件未触发

来自分类Dev

复选框会触发多个事件

来自分类Dev

每个复选框触发事件

来自分类Dev

单击复选框后,取消选中其他复选框,并触发更改或单击之前已选中的事件

来自分类Dev

在asp.net的页面上触发验证时,复选框更改事件不触发?

来自分类Dev

在asp.net的页面上触发验证时,复选框更改事件未触发?

来自分类Dev

复选框的更改不会触发功能

来自分类Dev

Flash-复选框,事件更改

来自分类Dev

更改事件未触发Chrome扩展程序中的复选框

来自分类Dev

使用Ember.js复选框输入助手触发对更改事件的操作?

来自分类Dev

复选框事件

来自分类Dev

Kendo模板复选框未触发点击事件

来自分类Dev

复选框点击事件触发两次

来自分类Dev

Angular2中的复选框未触发事件

来自分类Dev

复选框事件未选中时不触发

来自分类Dev

复选框选中的事件触发多次wpf mvvm

来自分类Dev

Kendo模板复选框未触发点击事件

来自分类Dev

复选框事件侦听器未触发

来自分类Dev

通过复选框更改事件更改输入值

来自分类Dev

通过事件内的另一个复选框更改复选框