laravel中ajax 异步加载数据,选择对应的学校对应的专业

html代码:

js代码:

$('#school').change(function () {
    var school_id = $(this).val();
    $.ajax({
        url: "http://hbcrjyw.test/online/school",
        type: "get",
        dataType: "json",
        data: {school_id: school_id},
        success: function (data) {
            // console.log(data);
            $('#major').html('<option value="">请选择专业</option>');
            $.each(data, function (i, item) {
                $("#major").append("<option value='" + item.id + "'>" + item.name + "</option>");
            });
        }
    })
});复制代码

控制器代码:

/**
 * 报名页面
 */
public function edit(Request $request, $id)
{
    //查出所有学校
    $schools = School::with('majors')->get();
    //查出所选择的专业
    $major_id = $request->major_id;
    $first_major = Major::with('school')->find($major_id);
    //查出学校下的专业
    $first_school = School::with(['majors' => function ($query) {
        $query->orderBy('grade');
    }])->find($id);

    return view('home.online.edit', compact('schools', 'first_major', 'first_school'));
}

/**
 * 查出所有学校对应的专业
 */
public function school(Request $request)
{
    $school_id = $request->school_id;
    $majors = Major::where('school_id', $school_id)->orderBy('grade')->get();
    echo json_encode($majors);
}
路由:
Route::group(['prefix' => 'online'], function () {
    Route::get('school', 'OnlineController@school')->name('online.school');
});
Route::resource('online', 'OnlineController');
复制代码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值