我有一个像这样的先前的问题,但它只适用于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'));