繁体   English   中英

检查动态选择的单选按钮

[英]Check on a dynamically selected radio button

我目前正在使用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') ,它显示为true。

更新:我取消了反序列化插件,并尝试这样做:

$.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来调用模板脚本,并且效果很好。

这只是纯JavaScript,请尝试以下操作:

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

编辑

由于那不起作用,请尝试以下方法:

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

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

http://jsfiddle.net/bgLYL/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM