【发布时间】:2019-09-18 11:37:14
【问题描述】:
这是刀片文件。我正在从数据库中提取数据并动态依赖第一个下拉框。
<div class="container">
<link rel="stylesheet" type="text/css" href="css/mystyle.css">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Welcome {{ Auth::user()->name }}</div>
</thead>
<tbody>
<tr>
<td>
<select class="form-control input-lg dynamic" name="service_type[]" id="service_type[]" data-parsley-required="true" data-dependent="service_name[]">
<option value="">Select Service Type</option>
@foreach ($services as $service )
<option value="{{ $service->service_type }}">{{ $service->service_type }}</option>
@endforeach
</select>
</td>
</select></td>
<td><input type="text" name="service_price[]" class="form-control input-lg dynamic"></td>
<td><a href="#" class="btn btn-danger remove">-</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
{{ csrf_field() }}
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.dynamic').change(function(){
if($(this).val() != '')
{
var select = $(this).attr("id");
var value = $(this).val();
var dependent = $(this).data('dependent');
var _token = $('input[name="_token"]').val();
$.ajax({
url:"{{ route('PackageController.fetch') }}",method:"POST",data:{select:select,value:value,_token:_token,dependent:dependent},
success:function(result)
{
$('#'+dependent).html(result);
}
})
}
});
});
</script>
我有一个带 fetch 功能的控制器
PackageController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Package;
use App\Service;
use DB;
use Session;
class PackageController extends Controller
{
public function index()
{}
function fetch(Request $request)
{
$select = $request->get('select');
$value = $request->get('value');
$dependent = $request->get('dependent');
$data = DB::table('services')
->where($select,$value)
->groupBy($dependent)
->get();
$output = '<option value="">Select '.ucfirst($dependent).'</option>';
foreach ($$data as $row) {
$output .= '<option value="'.$row->$dependent.'">'.$row->$dependent.'</option>';
# code...
}
echo $output;
}
}
Route::resource('package','PackageController');
Route::get('package/fetch','PackageController@fetch');
但是显示这个错误
路由 [PackageController.fetch] 未定义。 (看法: /home/devadmin/.config/composer/vendor/laravel/installer/serenseprj/resources/views/package.blade.php
【问题讨论】:
-
发布你的刀片文件你如何调用路由
-
@chaitra 您的路线指向不同的位置。尝试更改您的控制器文件和控制器,然后检查。将名称更改为
PackagesController而不是PackageController。我认为这可能会有所帮助 -
我发布了我的刀片文件
-
@chaitra 看我的回答