[英]Need to create a drop down list in laravel, and insert the results in a new database
我是 Laravel 的新手,我有兩個表:users、selected_users 都包含 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. 當我按下提交時,名稱應該保存到 selected_user 表中。
可以請有人幫助此代碼如何在視圖和控制器中編寫它。
我不確定您真正想要實現的目標,但請嘗試以下代碼;
用戶視圖.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 (確保你有 User 模型和 SelectedUser 模型)
<?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');
}
}
網頁版
Route::get('/selected-user', 'TestController@populateUsers');
Route::POST('/selected-user', 'TestController@saveUser')->name('save.selected-user');
請讓我知道它是否有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.