Javascript 选中动态选择的单选按钮
我目前正在使用和模式运行引导。我使用AJAX调用从php文件中获取表单并将其添加到HTML表单中,反序列化数据,然后打开模式。但是,当使用单选按钮时,我不能使用单独的jQuery脚本来检查是否选中了单选按钮。在检查时,它总是显示为falseJavascript 选中动态选择的单选按钮,javascript,php,jquery,html,twitter-bootstrap,Javascript,Php,Jquery,Html,Twitter Bootstrap,我目前正在使用和模式运行引导。我使用AJAX调用从php文件中获取表单并将其添加到HTML表单中,反序列化数据,然后打开模式。但是,当使用单选按钮时,我不能使用单独的jQuery脚本来检查是否选中了单选按钮。在检查时,它总是显示为false console.log($('#travel_only2').is(':checked')); 但是,如果我尝试使用 console.log($('#travel_only2')); 然后它将显示为选中状态。我怎样才能等待收音机检查,或者还有其他选择吗?
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.logdocument.getElementById'travel_only2'。已选中;显示false,然后在加载所有内容后在控制台中键入显示文档。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
}
小提琴显示我正在使用的功能
那似乎不起作用。console.logdocument.getElementById'travel_only 2'。选中;显示为false。@ashin999请尝试编辑。但这是一种奇怪的行为。如果真的选中了,那么vanilla js one应该返回true,因此它可能不会被设置。也是false。有没有办法等待反序列化完成,或者必须在插件中实现?因为我认为它有一个,但我不能访问它,因为我在一个单独的js文件中工作。这也是我所想的。为什么选中的值显示为false,而记录选择器对象显示为true?记录选择器值应返回一个对象,其中checked是该选择器的属性之一,如果另一个也显示为false,则该对象应为false。如果不是。。。