如何在现有的ajax json结果中添加数据

时间:2017-12-16 23:14:45

标签: javascript php json ajax laravel

我正在使用laravel,我已经定义了两个模型Category和Subcategory。 要获取数据,我使用的是ajax。

这是我的代码:

<div class="col-sm-9">
 <div class="col-sm-6">
      {{ Form::select('category_id',[''=>'-select a category-']+$categories, null, ['class' => 'form-control','id'=>'category']) }}
  </div>
 <div class="col-sm-6">
{{ Form::select('subcategory_id',[''=>'-select a Subcategory-'], null, ['class' => 'form-control','id'=>'subcategory']) }}
                                </div>
                            </div>

这是我的剧本

<script>
    $('#category').on('change',function(e){
        console.log(e);
        var cat_id = e.target.value;
        //ajax

        $.get('/ajax-subcat?cat_id='+cat_id, function(data){
            //subcategory
            $('#subcategory').empty();
            $.each(data,function(index, subcatObj){
$('#subcategory').append('<option value="'+subcatObj.id+'">'+subcatObj.name+'</option>');
            })
        })
    });

</script>

以下是我如何从类别中获取子类别

ROute::get("/ajax-subcat", function (){
$cat_id = Input::get('cat_id');
$subcategories = Subcategory::where('category_id',$cat_id)->get();

return Response::json($subcategories);

});

现在在前端如果我从类别下拉列表中选择cat1,我可以通过查询所选类别,在子类别下拉列表中获得输出subcat1, subcat2,subcat3。它的优良和良好的工作。

但是当我选择一个类别时,会自动选择第一个子类别。我希望不会自动选择子类别。将首先选择一个子类别 - 该值将为null,其余子类将为。

有任何帮助吗?

1 个答案:

答案 0 :(得分:0)

希望这会对你有帮助..

<script>
     $('#category').on('change',function(e){
      console.log(e);
      var cat_id = e.target.value;
       //ajax

      $.get('/ajax-subcat?cat_id='+cat_id, function(data){
         //subcategory
        $('#subcategory').empty();
        $('#subcategory').append($("<option></option>").val("").html("--Select Sub Category--"));
        $.each(data,function(index, subcatObj){
       $('#subcategory').append('<option value="'+subcatObj.id+'">'+subcatObj.name+'</option>');
        })
    })
});