检查无线电的jQuery事件

时间:2013-12-11 15:57:58

标签: javascript jquery listener onchange

是否有任何事件要附加到以下监听器,它会告诉我是否已经点击了一个单选按钮?

var budgetType;
$(document).on('change', 'input[name="import_export"]', function() {
    console.log($(this))
    budgetType = $(this).val();
});

我的问题是,在页面重新加载时,如果已经选中了单选框,change侦听器将无法正常工作,我找不到任何可以帮助我解决该问题的侦听器。

有什么想法吗?

更新

我知道我可以写一个if/else语法,看看哪个被检查了,但是我想知道是否有任何其他监听器我可以附加到change一个,并避免写额外的语法。

http://jsfiddle.net/S93XB/1/

3 个答案:

答案 0 :(得分:2)

$('input[type=radio]').is(':checked')

在此处试用此代码:http://jsfiddle.net/afzaal_ahmad_zeeshan/rU2Fc/

或试试这个

$('input[type=radio]').prop('checked', true);

在此处试用此代码:http://jsfiddle.net/afzaal_ahmad_zeeshan/rU2Fc/1/

它可以工作,你可以执行这个onload来获取第一个值并在if else块中使用它。

答案 1 :(得分:1)

在加载时触发更改事件:

var budgetType;
$(document).on('change', 'input[name="import_export"]', function() {
    var isChecked = $(this).is(":checked");
    console.log($(this).val()+" "+isChecked);
    budgetType = $(this).val();
});
$('input[name="import_export"]:checked').trigger('change');

http://jsfiddle.net/eLGaB/

答案 2 :(得分:0)

试试这个:

$('input[type=radio]').is(':checked')

$('input[type=radio]').prop('checked') === true;

或者

$('input[type=radio]').attr('checked') === 'checked';