我之前有这样的问题,但它只适用于2个选择框,所以我再次询问是否有人可以帮助我选择3个选择框。我无法根据选择框显示商品的价格。我有2个表,即items和item_details。 items表仅包含item_id和item_name列。 item_details表包含item_details_id,item_id(来自items表的fk)item_size和price。
我可以根据第一个选择框在项目的第二个选择框中显示相应的items_details。
HTML
<td>
<select name="item" class="form-control select2" id ="item">
<option value="0" selected="true" disabled="true">Select Item</option>
@foreach($items as $key => $i)
<option value="{!!$key!!}">{!!$i!!}</option>
@endforeach
</select>
</td>
<td>
<select name="item_details" class="form-control" id="item_details" >
</select>
</td>
<td>
<select name="price" class="form-control" id="price" >
</select>
</td>
ItemController
public function findItemDetails($id)
{
$details = DB::table("item_details")
->where("item_id",$id)
->lists("item_size","id");
return json_encode($details);
}
JS
$('select[name="item"]').on('change', function() {
var itemID = $(this).val();
if(itemID) {
$.ajax({
url: '/findItemDetails/ajax/'+itemID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="item_details"]').empty();
$.each(data, function(key, value) {
$('select[name="item_details"]').append('<option value="'+ key +'">'+ value +'</option>');
});
},
error:function(){
}
});
}else{
$('select[name="item_details"]').empty();
}
});
路线
Route::get('findItemDetails/ajax/{id}',array('as'=>'findItemDetails',
'uses'=>'ItemController@findItemDetails'));
我提供了使2个选择框功能所需的所有信息,但当我试图搜索涉及3个选择框的动态框的主题时,我无法找到任何信息。我是javascript和laravel的新手,所以我试图复制我的第一个代码并改变了变量,如果我有可能在第三个盒子上显示价格但没有任何效果。继承人我所拥有的。
ItemController
public function findPrice($id)
{
$itemdetails = DB::table("itemdetails")
->lists("price","id");
return json_encode($itemdetails);
}
JS
$('select[name="item_details"]').on('change', function() {
var itemdetailsID = $(this).val();
if(itemdetailsID) {
$.ajax({
url: '/findPrice/ajax/'+itemdetailsID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="price"]').empty();
$.each(data, function(key, value) {
$('select[name="price"]').append('<option value="'+ key +'">'+ value +'</option>');
});
},
error:function(){
}
});
}else{
$('select[name="price"]').empty();
}
});
路线
Route::get('findPrice/ajax/{id}',array('as'=>'findPrice',
'uses'=>'ItemController@findPrice'));