jQuery触发器没有按预期工作

时间:2012-05-10 12:17:56

标签: javascript jquery html css

我有这个

$('input[type=radio][name="voucher_type"]').live('change', function() {
//stuff here
});

因此,当单击单选按钮时,会发生一些事情。单选按钮位于div中,该div被设置为带有背景图像的大按钮等。

问题是,用户将点击图片,并希望它点击按钮。我不能使用标签,我知道会检查收音机,所以我在下面尝试了这个代码:

    $('div.voucher_box').click(function(){
    $(this).children('input').attr("checked", "checked");
    $(this).closest("input").trigger('click');
});

我希望当单击div class voucher_box时,它会触发单选按钮上的单击/更改事件并触发更改无线电时运行的所有代码。

有人能看出什么问题吗?感谢。

1 个答案:

答案 0 :(得分:2)

如果您绑定了change个事件,那么您必须触发change个事件,而不是click

$('div.voucher_box').click(function() {
    $(this).children(":radio").prop("checked", true).trigger("change");
}

请注意,从jQuery 1.7版开始,不推荐使用.live()方法。您应该使用.on()附加事件处理程序。