【问题标题】:jquery radio button change event is not fired if radios are hidden如果收音机被隐藏,则不会触发 jquery 单选按钮更改事件
【发布时间】:2013-02-27 16:37:01
【问题描述】:

我在隐藏的单选按钮上使用此代码:

        $('input:radio[name="test"]').change(function(){
            console.log("test");
        });

不会触发更改事件。

PS:收音机是不可见的,因为我必须使用一个脚本来替换所有收音机并选择更好看的表示...

在 Firebug 中,我可以看到“已替换”的收音机没有显示,并且脚本添加或删除了 checked="checked"。

非常感谢, 弗洛里安

【问题讨论】:

  • 您是否正在动态创建radio 按钮。如果是,您需要delegate 事件
  • 脚本如何修改原始输入元素?您使用的是特定插件吗?
  • 如果您在程序上将单选按钮设置为选中或取消选中,则在执行此操作后手动触发更改事件。例如$(this).change();

标签: jquery event-handling radio-button


【解决方案1】:

来自 API:

“当元素的改变时,change事件被发送到元素。”

这意味着如果只更改checked 属性,则不会触发更改事件。您必须更改触发change 事件的单选按钮的值。

【讨论】:

  • 你会怎么做?是改变单选按钮还是单选组的值?
  • 我认为,这是输入标签的值,类型为“radio”。您可以只使用 $("#myradiobuttonid").val()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多