【问题标题】:How to populate data using cascading in dropdown in laravel?如何在 laravel 的下拉列表中使用级联填充数据?
【发布时间】:2018-09-26 09:05:08
【问题描述】:

这是我的 user_type 表

 Schema::create('user_type', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->timestamps();
    });

Data in user_type table

这是 dp 和 rta 表

Schema::create('dp', function (Blueprint $table) {
        $table->increments('id');
        $table->string('dp_id');
        $table->integer('name');
        $table->timestamps();
    });


 Schema::create('rta', function (Blueprint $table) {
        $table->increments('id');
        $table->string('rta_id');
        $table->integer('name');
        $table->timestamps();
    });

这是 add_user.blade.php

<div class="control-group">
          <label class="control-label">Type</label>
          <div class="controls">
            <select name="user_type" id="user_type">
                <option selected disabled>Select User Type</option>
                @foreach($user_type as $key => $value)
                 <option value="{{ $key }}">{{strtoupper($value)}}</option>
                @endforeach
            </select>
          </div>
        </div>
         <div class="control-group">
          <label class="control-label">User Name</label>
         <div class="controls">
            <select name="user_id" id="user_id">
               <option selected disabled>Select User Name</option>
            </select>
          </div>
        </div>

在UserController中添加用户函数

public function addUser(Request $request){
   if($request->isMethod('post')){
       $data = $request->all();

          $this->validate($request, [
            'full_name' => 'required',
            'user_email'=> 'required',
            'user_type'=> 'required',
            'user_password' => 'required'
          ]);
         /* [
            'menu_id.required' => 'Menu Name is required',
            'title.required' => 'Title is required',
            'description.required' => 'Description is required'
        ]);*/

       $user = new User();
       $user->type = $data['user_type'];
       $user->name = $data['full_name'];
       $user->user_id = $data['user_id'];
       $user->email = $data['user_email'];
       $password = Hash::make('user_password');
       $user->password = $password;
       $user->save();

       return redirect('/admin/view-user')->with('flash_message_success','User Added Successfully..');
   } 
     $user_type = DB::table('user_type')->pluck("title","id");
     return view('admin.user.add_user')->with(compact('user_type'));

}

Here, in this case, when i select dp in type drop down, i want to show name from dp table in user_id drop down and when rta is selected, i want to show name from rta table in user_id drop down.

如何解决这个问题??

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    这可以使用 Javascript 通过处理 HTMLSelectElement 上的 change 事件来完成。当您在下拉列表中选择任何元素时,change 事件将被触发,并且在句柄中您可以选择 #user_id 元素添加一些新的 option 子元素,该值可以手动填充或通过发出 ajax 请求来检索对应的用户

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-07
      • 2012-06-11
      • 2012-07-01
      • 2020-07-24
      • 2016-12-14
      相关资源
      最近更新 更多