jquery - laravel 8中的依赖下拉列表
问题描述
我需要一个有 4 个级别的依赖下拉列表。首先我尝试了两个级别,但没有工作。我尝试了一些编码,但都无法列出第二个下拉列表。任何人都可以帮助我吗?jQuery有什么问题吗?特此附上我的代码,
控制器
控制器名称 - SubjectController
public function getDepartments($id)
{
$departments = DB::table("departments")->where("faculty_id",$id)
->pluck("department_name","id");
return json_encode($departments);
}
public function getFaculties()
{
$faculties = DB::table('faculties')->pluck("faculty_name","id");
return view('pages/subject/view-subject',compact('faculties'));
}
看法
<div class="col-md-4">
<label for="faculty">Select Faculty</label>
<select class="form-control m-b" name="faculty">
<option value=""> Faculty </option>
@foreach ($faculties as $key => $value)
<option value="{{ $key }}"> {{ $value }} </option>
@endforeach
</select>
</div>
<div class="col-md-4">
<label for="department">Select Department:</label>
<select class="form-control m-b" name="department">
<option>Department</option>
</select>
</div>
<script type="text/javascript">
jQuery(document).ready(function ()
{
jQuery('select[name="faculty"]').on('change',function(){
var facultyID = jQuery(this).val();
if(facultyID)
{
jQuery.ajax({
url : 'pages/subject/view-subject/getDepartments' +facultyID,
type : "GET",
dataType : "json",
success:function(data)
{
console.log(data);
jQuery('select[name="department"]').empty();
jQuery.each(data, function(key,value){
$('select[name="department"]').append('<option value="'+ key +'">'+ value +'</option>');
});
}
});
}
else
{
$('select[name="department"]').empty();
}
});
});
</script>
DB 用于过滤的两张表
public function up()
{
Schema::create('faculties', function (Blueprint $table) {
$table->id();
$table->string('faculty_name');
$table->timestamps();
});
}
public function up()
{
Schema::create('departments', function (Blueprint $table) {
$table->id();
$table->string('department_name');
$table->unsignedBigInteger('faculty_id');
$table->foreign('faculty_id')->references('id')->on('faculties');
$table->timestamps();
});
}
网络
Route::get('pages/subject/view-subject','App\Http\Controllers\SubjectController@getFaculties')->name('pages/subject/view-subject');
Route::get('pages/subject/view-subject/getDepartments{id}','App\Http\Controllers\SubjectController@getDepartments')->name('getDepartments');
解决方案
推荐阅读
- firebase - Firestore onSnapshot -> 它适用于子集合吗?
- python - 更改 matplotlib 中各个条的颜色?
- vbscript - 向用户授予本地管理员权限以执行 VBS 脚本
- ajax - 如何访问 AJAX 对象中特定数组的每个索引
- python - 将 Docker 容器用于前端和后端时,CORS 失败
- c# - 如何在c#列表中找到一个项目
- python - 如何使用该列周围(顶部和底部)值的平均值填充该列的 NaN 值?
- jquery - 单独的 HTML 文件中的可点击行以在新选项卡中打开不同的链接
- logging - Kubernetes Pod 的多行日志事件
- node.js - 从本地文件创建 javascript 资源文件