Javascript AJAX条件内部追加
我有一个对API的Ajax调用,该API在一个子集中检索汽车列表及其相关规范。这将通过“我的附加”显示在div中。我使用默认的规格id值,并尝试与每辆车的id进行比较。如果它等于,则将var defaultSet设置为“已检查” 但是,它根本无法检索准确的结果,而汽车的默认规格是将选中状态设置为错误的复选框 我的问题本质上是,我能做到这一点吗Javascript AJAX条件内部追加,javascript,jquery,ajax,json,getjson,Javascript,Jquery,Ajax,Json,Getjson,我有一个对API的Ajax调用,该API在一个子集中检索汽车列表及其相关规范。这将通过“我的附加”显示在div中。我使用默认的规格id值,并尝试与每辆车的id进行比较。如果它等于,则将var defaultSet设置为“已检查” 但是,它根本无法检索准确的结果,而汽车的默认规格是将选中状态设置为错误的复选框 我的问题本质上是,我能做到这一点吗 $.getJSON("{{ url('api/checkcars')}}", { option: $(this).val() }, function(d
$.getJSON("{{ url('api/checkcars')}}", { option: $(this).val() },
function(data) {
if ( data.success == true ) {
$.each(data.cars, function(key, value) {
var isDefault = data.default_spec_id;
if (isDefault === value.id) {
defaultset = 'checked';
}
$('#cars').append('<div><input type="radio" value="' + value.id +'" name="spec" ' + defaultset +'> ' + value.title +'</div>');
});
}
});
问题是您正在使用
var
关键字创建一个名为defaultset
的变量
所以基本上,它会将其分配到全局范围
您的代码必须如下所示
$.getJSON("{{ url('api/checkcars')}}", { option: $(this).val() },
function(data) {
if ( data.success == true ) {
$.each(data.cars, function(key, value) {
var isDefault = data.default_spec_id;
var defaultset = "";
if (isDefault === value.id) {
defaultset = 'checked';
}
$('#cars').append('<div><input type="radio" value="' + value.id +'" name="spec" ' + defaultset +'> ' + value.title +'</div>');
});
}
});
$.getJSON({{url('api/checkcars')}}},{option:$(this.val()}),
功能(数据){
如果(data.success==true){
$.each(data.cars,函数(键,值){
var isDefault=data.default\u spec\u id;
var defaultset=“”;
if(isDefault==value.id){
defaultset='已检查';
}
$(“#cars”).append(“”+value.title+“”);
});
}
});
你能发布json数据吗?不确定这是否相关,但是,你有什么理由在末尾附加
?您似乎有
开始,而结束标记不匹配。请使用JSON更新checked=“checked”
而不是仅仅添加checked
。谢谢我也会整理附件。哇,这么简单。现在很好用。非常感谢你。
$.getJSON("{{ url('api/checkcars')}}", { option: $(this).val() },
function(data) {
if ( data.success == true ) {
$.each(data.cars, function(key, value) {
var isDefault = data.default_spec_id;
var defaultset = "";
if (isDefault === value.id) {
defaultset = 'checked';
}
$('#cars').append('<div><input type="radio" value="' + value.id +'" name="spec" ' + defaultset +'> ' + value.title +'</div>');
});
}
});