簡體   English   中英

使編輯表單在多個選擇框中顯示選定的值,它將選擇數據但將數據加倍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM