使用 laravel 在数据库中不保存多个下拉值的第二个下拉值
Posted
技术标签:
【中文标题】使用 laravel 在数据库中不保存多个下拉值的第二个下拉值【英文标题】:The second dropdown value for multiple dropdown value NOT SAVE in database using laravel 【发布时间】:2021-08-28 00:50:55 【问题描述】:大家好!首先,我的编码都是关于动态下拉值的,现在的问题是第二个下拉值没有保存在数据库中。我错过或错了哪一部分?
查看:-
<div class="col-md-3">
<select class="shiftPatternID" name="inputShiftPatternID" id="inputShiftPatternID" required style="width: 100%">
<option value="" hidden disabled selected>Please Select</option>
@foreach ($shiftpattern as $singleshiftpattern)
<option value=" $singleshiftpattern->id "> $singleshiftpattern->id - $singleshiftpattern->code </option>
@endforeach
</select>
</div>
<div class="col-md-3">
<select class="sapCode" name="inputSapCode" id="inputSapCode" required style="width: 100%">
<option value="0" disabled="true" selected="true">Please Select</option>
</select>
</div>
使用 jquery 脚本查看第二个下拉菜单:-
$(document).ready(function()
$(document).on('change','.shiftPatternID',function()
var cat_id=$(this).val();
var div=$(this).parent().parent().parent();
var op=" ";
$.ajax(
type: 'get',
url: '!! URL::to('findSapCode') !!',
data:
'id':cat_id
,
success: function(data)
op+='<option value="0" selected disabled>Please Select</option>';
for (var i=0;i<data.length;i++)
op += '<option value="'+data[i].id+'">'+data[i].code+' - '+data[i].description+'</option>';
$('.sapCode').html('') ;
$('.sapCode').append(op);
,
error: function()
);
);
);
控制器:-
public function store(Request $req)
$var_shift_pattern_id = $req ->inputShiftPatternID;
$var_sap_code = $req ->inputSapCode;
$usp_var = new UserShiftPattern;
$usp_var-> shift_pattern_id = $var_shift_pattern_id;
$usp_var-> sap_code = $var_sap_code;
$usp_var->save();
$execute = UserHelper::LogUserAct($req, "User Work Schedule Management", "Create User Work Schedule " .$req->inputUserID);
$feedback_text = "Successfully created User Work Schedule ".$req->inputUserID.".";
$feedback_title = "Successfully Created";
return redirect(route('usp.index', [], false))
->with([
'feedback' => true,
'feedback_text' => $feedback_text,
'feedback_title' => $feedback_title
]);
路线:-
Route::get('/findSapCode','Admin\UserShiftPatternController@findSapCode');
Route::get('/admin/usershiftpattern', 'Admin\UserShiftPatternController@index')->name('usp.index');
Route::post('/admin/usershiftpattern/add', 'Admin\UserShiftPatternController@store')->name('usp.store');
Route::post('/admin/usershiftpattern', 'Admin\UserShiftPatternController@index')->name('usp.index');
【问题讨论】:
能否提供刀片模板代码 @John Lobo 已经编辑了我的问题 你也可以显示数据库结构或尝试 dd($req->all()) 我应该把 dd($req->all()) 放在哪里? 之前 $var_shift_pattern_id = $req ->inputShiftPatternID;这个 【参考方案1】:问题在于 jquery 中错误传递的选项值。它应该是 data[i].code
而不是 data[i].id
op+='<option value="'+data[i].code+'">'+data[i].code+" "+data[i].description+'</option>'
您可能还需要更新查询以显示描述
$data=ShiftPattern::select('code','id','description')->where('id',$request->id)->take(100)->get();
【讨论】:
以上是关于使用 laravel 在数据库中不保存多个下拉值的第二个下拉值的主要内容,如果未能解决你的问题,请参考以下文章