检查动态选择的单选按钮

时间:2014-02-12 01:14:56

标签: javascript php jquery html twitter-bootstrap

我目前正在运行带有https://github.com/kflorence/jquery-deserialize的Bootstrap和一个模态。我使用AJAX调用从php文件中获取表单并将其添加到HTML表单中,反序列化数据,然后打开模式。但是,使用单选按钮时,我无法使用单独的jQuery脚本来检查收音机是否已被选中。使用

进行检查时,它始终显示为false
console.log($('#travel_only2').is(':checked'));

但是,如果我尝试用

输出选择器本身
console.log($('#travel_only2'));

然后它将显示为已选中。我怎样才能等待收音机检查,还是有其他选择?谢谢!

更新:此外,我只是尝试在控制台中使用$('#travel_only2').is(':checked'),它显示为真。

更新:我取消了deserialize插件并尝试了这个:

$.each(this, function(name, val){
var $el = $('[name="'+name+'"]'),
type = $el.attr('type');

switch(type){
    case 'checkbox':
        $el.attr('checked', 'checked');
    break;
    case 'radio':
        $el.filter('[value="'+val+'"]').attr('checked', 'checked');
    break;
    default:
        $el.val(val);
}

}); 不幸的是使用console.log(document.getElementById('travel_only2')。checked);显示false然后在加载所有内容后键入控制台显示document.getElementById('travel_only2')。 真

最后更新:由于对模板的ajax调用包含了脚本,因此似乎有延迟。相反,我在我的主脚本中使用$ .getScript来调用模板脚本,这非常有效。

1 个答案:

答案 0 :(得分:0)

这只是纯粹的javascript试试这个:

if(document.getElementById('travel_only2').checked) {
      // radio button is checked
    }

修改

由于那不起作用,试试这个:

 if($('#travel_only2').prop('checked')){
//radio button is check
}

小提琴显示我正在使用的功能。

http://jsfiddle.net/bgLYL/