如果我以编程方式选择单选按钮,则调用change()事件处理程序

时间:2012-04-01 14:53:06

标签: javascript jquery radio-button radiobuttonlist

我有这样的HTML:

<input type="radio" name="type" value="FL" checked="checked" />Fixed
<input type="radio" name="type" value="SV" />Saving
<input type="radio" name="type" value="L2" />Type 2

以下脚本

$(function () {
        $('input[name=type]').change(function () {
            alert($(this).val());
        });
        $('input[value=SV]').attr('checked', 'checked');
    });

首先,在单选按钮上添加了更改事件。 如果我从UI中选择单选按钮,则触发更改事件处理程序。 但是当我以编程方式更改所选单选按钮值时,它不会触发。

当我以编程方式选择单选按钮时,我也希望change event被触发。

2 个答案:

答案 0 :(得分:9)

您可以使用trigger()以编程方式引发事件:

$(function () {
    $('input[name=type]').change(function () {
        alert($(this).val());
    });
    $('input[value=SV]').attr('checked', 'checked').trigger('change');        
});

答案 1 :(得分:1)

它不会自动更改。您必须执行以下操作之一:

或者

$('input[value=SV]').attr('checked', 'checked').trigger("change")

$('input[value=SV]').attr('checked', 'checked').change();