我目前正在运行带有https://github.com/kflorence/jquery-deserialize的Bootstrap和一个模态。我使用AJAX调用从php文件中获取表单并将其添加到HTML表单中,反序列化数据,然后打开模式。但是,使用单选按钮时,我无法使用单独的jQuery脚本来检查收音机是否已被选中。使用
进行检查时,它始终显示为falseconsole.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来调用模板脚本,这非常有效。
答案 0 :(得分:0)
这只是纯粹的javascript试试这个:
if(document.getElementById('travel_only2').checked) {
// radio button is checked
}
修改强>
由于那不起作用,试试这个:
if($('#travel_only2').prop('checked')){
//radio button is check
}
小提琴显示我正在使用的功能。