doufang1954 2019-07-16 18:28
浏览 49
已采纳

使编辑表单在多个选择框中显示选定的值,它会选择数据,但会使数据加倍

It select the option but it doubles the data doubles the data.

I tried but its not helping me.

{{ in_array( $rsmsl , $data['state'] ) ? 
    < option selected value = "{{ $rsms->statesId }}" > {{$rsms->statesName}} </option>                                                 :
    < option  value=" {{ $rsms->statesId }}" > {{ $rsms->statesName }} </option> }}

Controller Code

    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]);

}

Blade Template for View the data.

    <?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>
  • 写回答

1条回答 默认 最新

  • dongying7667 2019-07-16 18:51
    关注
       <?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 
    

    I'm not sure about the length of the $rsmex. But if the length of $rsmex is 2, it will loop through all the $data['state'] twice. Then you got those option data twice.

    maybe this is what you want to achieve? Just to loop through the state, and see whether user has that statesID?

       @foreach($data['state'] as $rsms)
         <option @if (in_array($rsms->statesId, $rsmex)) {{"selected"}} @endif value={{$rsms->statesId}}>{{$rsms->statesName}}</option>
       @endforeach
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。