Javascript 使用jQuery检查单选按钮不会';t触发收音机';s onclick事件

Javascript 使用jQuery检查单选按钮不会';t触发收音机';s onclick事件,javascript,html,jquery,Javascript,Html,Jquery,我有一对收音机,我在pages.ready事件中使用bind()为其分配了一个函数。 然后,在同一个就绪事件中,我检查另一个输入的值,如果它的值是“1”,则在页面加载时预选第二个单选按钮。 这里是一个片段 <input type="radio" name="fpago" id="fpago1" value="1" />one <input type="radio" name="fpago" id="fpago2" value="2" />two -->获取更完整的代码

我有一对收音机,我在pages.ready事件中使用bind()为其分配了一个函数。 然后,在同一个就绪事件中,我检查另一个输入的值,如果它的值是“1”,则在页面加载时预选第二个单选按钮。 这里是一个片段

<input type="radio" name="fpago" id="fpago1" value="1" />one
<input type="radio" name="fpago" id="fpago2" value="2" />two

-->获取更完整的代码

问题是,如果满足条件,收音机确实会得到检查,但绑定函数
togglePlazo()
不会触发

如果以后我手动单击单选按钮,则会触发该功能,并切换量程。它只在使用jQuery进行的初始“检查”中出现,在该检查中,函数不会触发,尽管无线电发生了变化

我不知道我遗漏了什么,也许我应该绑定更多的事件,而不是更改或单击。。。我就是找不到我做错了什么


注意:我使用的是jQuery 1.4.2,但是fiddle被设置为使用1.6.4(它没有1.4.2作为选项)

设置
checked
属性时,只需触发click事件即可

$("#fpago2").attr('checked', true).trigger('click');

更改元素的属性不会触发已更改的事件。。。既不使用本机setAttribute,也不使用jQuery的attr

我知道我可以这样做(或者
。click()
,这是相同的),但我想知道为什么默认情况下它不会触发它,因为事件已经绑定到无线电。更改元素上的属性不会触发
更改的
事件。。。无论是通过本机
setAttribute
还是使用jQuery的
attr
。因此,每当我需要为任何元素触发某个事件时,我都需要显式调用处理程序或事件?或者,如果不是收音机,而是选择,它会工作吗?(不确定,但我想会的,因为我会用.val()赋值,而不是更改属性)。在分配属性而不仅仅是值时,是否有方法强制触发事件?我的意思是,对于所有元素,不需要像您提到的那样为每个元素手动触发事件。最近我们将使用prop作为
$(“#fpago2”).prop('checked',true)。trigger('click')
@MarcusJuniusBrutus-是的,我的评论的关键是使用
prop()
而不是
attr()
,尽管我同意您使用
change
事件-这一切都取决于您的处理程序是如何设置的(您监视哪些事件),或者两者都使用,就像OP对
绑定所做的那样(使用
)('change click',…
而不是
bind()
顺便说一句。您试用了什么版本的jQuery?我刚刚运行了您演示的小提琴。它是否仅通过加载页面显示“bla-bla”文本?因为如果手动单击收音机,它会发生变化。不起作用的是,在加载页面时默认显示span的文本(甚至不碰任何东西)。如果它有效,你应该是某种巫师!XD,因为它根本不起作用。(或者你使用的是什么浏览器?尽管我怀疑是否相关)
$("#fpago2").attr('checked', true).trigger('click');