Как заполнить данные с помощью каскадного раскрывающегося списка в laravel? - PullRequest
0 голосов
/ 26 сентября 2018

это моя таблица user_type

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

Данные в таблице user_type

это таблица 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'));

}

Здесь, в этом случае, когда я выбираю dp в раскрывающемся списке типа, я хочу показать имя из dpв выпадающем списке user_id и когда выбран rta, я хочу показать имя из rta в выпадающем user_id.

Как решить эту проблему ??

1 Ответ

0 голосов
/ 26 сентября 2018

Это можно сделать с помощью Javascript, обработав событие change в HTMLSelectElement.Когда вы выбираете какой-либо элемент в раскрывающемся списке, событие change будет запущено, и в дескрипторе вы можете выбрать элемент #user_id, добавив некоторый новый подэлемент option, значение которого можно заполнить вручную или сделав запрос ajax, который извлекаетсоответствующий пользователь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...