0

我有这个

$('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 类凭证_box 时,它会触发单选按钮上的单击/更改事件,并触发更改单选时运行的所有代码。

任何人都可以看到有什么问题吗?谢谢。

4

1 回答 1

2

如果你有绑定change事件,那么你必须触发change事件但不是click

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

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

于 2012-05-10T12:25:50.667 回答