Javascript AJAX条件内部追加

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

我有一个对API的Ajax调用,该API在一个子集中检索汽车列表及其相关规范。这将通过“我的附加”显示在div中。我使用默认的规格id值,并尝试与每辆车的id进行比较。如果它等于,则将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;
            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>');
        });
    }
});