laravel - laravel 5.8 中的动态下拉菜单
问题描述
这就是我想要发生的事情-第一个下拉列表(父)-第二个下拉列表(子)-第二个下拉列表中的选项将取决于第一个下拉列表的选定值。
我正在使用 laravel 5.8。
解决方案
在你看来
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control{{ $errors->has('state') ? ' is-invalid' : '' }}" onchange="dropdown(this.value);" name="state" id="state">
<option>--select state--</option>
<option value="Kerala">Kerala</option>
<option value="Karnataka">Karnataka</option>
<option value="Tamil Nadu">Tamil Nadu</option>
</select>
<select class="form-control{{ $errors->has('district') ? ' is-invalid' : '' }}" name="district" id="district">
<option>Please choose state from above dropdown</option>
</select>
<script >
function dropdown(msg){
var state=msg;
$.ajax({
url: 'getdistrict/'+state,
type: 'get',
dataType: 'json',
success: function(response){
$("#district").empty();
var len = 0;
if(response['data'] != null){
len = response['data'].length;
}
if(len > 0){
// Read data and create <option >
for(var i=0; i<len; i++){
var id = response['data'][i].id;
var name = response['data'][i].name;
var option = "<option value='"+name+"'>"+name+"</option>";
$("#district").append(option);
}
}
}
});
}
在您的控制器中
public function district($id)
{
$userData['data'] = DB::table('alldistricts')
->where('state', $id)
->orderBy('name', 'asc')
->get();
echo json_encode($userData);
exit;
}
在你的 web.php
Route::get('/getdistrict/{id}','RegistrationController@district')->name('getdistrict');
推荐阅读
- r - 在 R 中:将具有年度日期间隔的行添加到数据框中
- linux - 从中间生成其他一些 .sh 文件,同时保持其他生成打开
- java - 使用 Java 从方法调用中读取 c++ 控制台输出
- sql - SQL 使用特定输入查找对应的列并创建新的汇总表
- sql - SQL Server 中的日期格式转换
- java - 如何打印出斐波那契数列的加法?
- c# - 无法为 Powerpoint 折线图的 X 轴选择值
- r - R Studio:创建一个空列表会导致错误:“名称”属性 [1] 必须与向量 [0] 的长度相同
- css - 悬停css问题上的图像叠加
- reactjs - WebStorm/IntelliJ autosuggest 无法识别命名导入