我正在使用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,其余子类将为。
有任何帮助吗?
答案 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>');
})
})
});