[英]Make edit form show selected values in multiple select box it selet the data but double the data
它選擇該選項,但它使數據翻倍,使數據翻倍。
我嘗試過,但沒有幫助。
{{ in_array( $rsmsl , $data['state'] ) ?
< option selected value = "{{ $rsms->statesId }}" > {{$rsms->statesName}} </option> :
< option value=" {{ $rsms->statesId }}" > {{ $rsms->statesName }} </option> }}
控制器代碼
public function editEmp($id){
$task = DB::table('user')
->where('user.userId', '=', $id)
->select('user.*')
->get()[0];
$states = DB::table('states')
->select('states.*')
->get()
->toArray();
$role = DB::table('roll')
->select('roll.*')
->get();
$sd = DB::table('sddetail')
->select('sddetail.*')
->get();
$avp = DB::table('avpdetail')
->select('avpdetail.*')
->get();
$allData = array("user" => $task, "state" => $states, "role" => $role, "sd" => $sd, "avp" => $avp);
return view('modal.editemp', ['data' => $allData]);
}
用於查看數據的刀片模板。
<?php
$rsmex = explode(",",$data['user']->statesId);
?>
<lable for="addStorename1" >Market Name</label>
<select class="form-control my-select" data-live-search="true" data-actions-box="true" placeholder="Enter Role" name="Statename[]" multiple >
@foreach($rsmex as $rsmsl)
@foreach($data['state'] as $rsms)
<option @if ( $rsmsl == $rsms->statesId ) {{"selected"}} @endif value={{$rsms->statesId}}>{{$rsms->statesName}}</option>
@endforeach
@endforeach
</select>
<?php
$rsmex = explode(",",$data['user']->statesId);
?>
@foreach($rsmex as $rsmsl)
@foreach($data['state'] as $rsms)
<option @if ( $rsmsl == $rsms->statesId ) {{"selected"}} @endif value={{$rsms->statesId}}>{{$rsms->statesName}}</option>
@endforeach
@endforeach
我不確定$rsmex
的長度。 但是,如果$rsmex
的長度為2,它將遍歷所有$data['state']
兩次。 然后,您兩次獲得了這些期權數據。
也許這就是您想要實現的目標? 只是為了遍歷狀態,並查看用戶是否具有該StatesID?
@foreach($data['state'] as $rsms)
<option @if (in_array($rsms->statesId, $rsmex)) {{"selected"}} @endif value={{$rsms->statesId}}>{{$rsms->statesName}}</option>
@endforeach
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.