【发布时间】:2014-02-12 12:10:12
【问题描述】:
我目前正在使用 https://github.com/kflorence/jquery-deserialize 和模态运行 Bootstrap。我使用 AJAX 调用从 php 文件中获取表单并将其添加到 HTML 表单中,反序列化数据,然后打开模式。但是,当使用单选按钮时,我不能使用单独的 jQuery 脚本来检查单选按钮是否被选中。检查时总是显示为假
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').checked 真的
最后更新:似乎有延迟,因为对模板的 ajax 调用包含了脚本。相反,我在我的主脚本中使用了 $.getScript 来调用模板脚本,并且效果很好。
【问题讨论】:
标签: javascript php jquery html twitter-bootstrap