2016-04-30 137 views
0

我有一个活动,我想从艺术家表添加艺术家。 我想用一个下拉列表来填充艺术家的名字,他们旁边还有一个小的'+'来添加其他艺术家。这样做的第三个传递表,其中事件ID和艺术家ID应插入为外键。 当我创建事件laravel 5.2动态下拉列表

笔者认为:

<div class="form-group"> 
<label for="task-artist" class="col-sm-3 control-label">Artist:</label> 
<div class="col-sm-6"> 
    <select name="artist" id="artist" class="form-control input-sm"> 
    <option value=""></option> 
     @foreach($artists as $artist) 
      {{$artist->stage_name}} 
     @endforeach 
    </select> 
</div> 
</div> 

我的控制器:

public function index(Request $request) 
    { 
     return view('tasks.index', [ 
      'tasks' => $this->tasks->forUser($request->user()), 
      'artists' => DB::table('artists')->pluck('stage_name', 'id'), 
     ]); 
    } 

    public function show($id) 
    { 
     //Get results by targeting id 
     $task = Task::find($id); 
     //$artist = Artist::lists('stage_name', 'id'); 
     //$artist = Artist::where('active', true)->orderBy('stage_name')->pluck('stage_name', 'id'); 
     // 
     return view('tasks.show')->with('task',$task); 
    } 

应如何我开始? 请帮忙。

回答

2

Javascript是你的朋友在这里。

让我写,你可以按照实现你正在寻找一些步骤:

1)在JavaScript中div标签和

2)使用$获得()函数来获取来自控制器的动态值。

3)$。每(),并通过数据环路,并显示在任一选择的值或者点击+你提到做另一个JavaScript调用艺术家添加到按钮选择输入字段

4)事件。

实施例:

HTML 
<div class="uk-margin-bottom"> 
    <div id="your select dropdown"></div> 
</div> 

JAVASCRIPT 
$("#artist").change(function() { 
    getArtists(); 
}); 

    function getArtist() { 
    var artist= $('#your div id'); 
    artist.empty(); 
    var code = ''; 
    $.get("/url/" + variable_id, function(data) { 
     artist.empty(); 
     console.log(data);// once you create route and controller you should see your artists lists here 

     code += '<label for="event_id" class="uk-form-label">Select Artist</label><select class="uk-width-1-1" name="artist_name" id="artist_name" value="select">'; 
     code += '<option value="">Select Artists</option>'; 
     $.each(data.artist, function(index, value) { 

      code += '<option value="' + value.artist_name+ '">' + value.artist_name + '</option>'; 
     }); 
     code += '</select> 
     artist.append(code); 

    }); 
} 

有一个表格,并添加JavaScript来张贴艺术家到控制器和数据存储到事件表。试着看看你能否实现并遵循我的步骤。