I am new to laravel, I have a two tables: users, selected_users both contains id, name. I wanted to create a drop down list that is populated from users, when selecting a user name it will insert the user's name beside the drop down menu. When I press submit the name should be saved to the selected_user table.
Can please someone help with this code how to write it in the view and controller.
I'm not quiet sure what you really want to achieve but try the code below;
userview.blade.php
<div class="container">
@if(session('success'))
<h1>{{session('success')}}</h1>
@endif
<form method="POST" action="{{route('save.selected-user')}}">
{{ csrf_field() }}
<div class="form-group row">
<div class="col-sm-8">
<select class="form-control" id="selectUser" name="user_selected" required focus>
<option value="" disabled selected>Please select user</option>
@foreach($users as $user)
<option value="{{$user->id}}">{{ $user->name }}</option>
@endforeach
</select>
</div>
<label class="col-sm-4 col-form-label" id="displayUser">Show selected User
here</label>
</div>
<input type="submit" value="Save">
<script type="text/javascript">
var mytextbox = document.getElementById('displayUser');
var mydropdown = document.getElementById('selectUser');
mydropdown.onchange = function(){
mytextbox.value = mytextbox.value + this.value; //to appened
mytextbox.innerHTML = this.value;
}
</script>
TestController.php (make sure you have User model and SelectedUser model)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use App\SelectedUser;
class TestController extends Controller
{
public function populateUsers()
{
$users = User::all();
return view('test.userview', compact('users'));
}
public function saveUser(Request $rq)
{
$selectedUser = new SelectedUser;
$selectedUser->name = $rq->user_selected;
$selectedUser->save();
return redirect()->back()->with('success', 'Selected Username added successfuly');
}
}
WEB.php
Route::get('/selected-user', 'TestController@populateUsers');
Route::POST('/selected-user', 'TestController@saveUser')->name('save.selected-user');
Please let me know if it works