我有一个简单的下拉列表,列出了汽车制造商:
<label>Manufacturer
<select name="manufacturer" id="manufacturer" class="form-control input-sm" onchange="changeTwo(this.value)">
</option>
@foreach($manuf as $item)
<option value="{{ $item->id}}">{{ $item->name}}</option>
@endforeach
</select>
</label>
这很好,我的想法是选择填充第二个依赖的下拉列表,所以我有一个javascript方法:
function changeTwo(id)
{
var url = '{{ route("testDropdown",":id") }}';
url = url.replace(':id', id);
$.get(url, function (data){
$('#model').empty();
$.each(data, function(id,description){
$('#model').append("<option value='"+ id +"'>" +description + "</option>");
});
});
}
该路线包括:
public function testDropdown($id)
{
$model = ModelRange::orderBy('description')->where('manufacturer_id',"=",$id)->get();
return $model;
}
我的问题是下拉列表由[object]填充。
我用Laravel解决了这个问题。我有一个名为testtwo.blade.php的视图
<label>Model
<select name="manufacturer" id="model" class="form-control input-sm" >
</option>
@foreach($model as $item)
<option value="{{ $item->id}}">{{ $item->description}}</option>
@endforeach
</select>
</label>
</div>
我修改了模型以返回视图:
return view('test.testtwo',['model' => $model]);
我只需将div替换为:
$('#modeldropdown').load(url);