laravel - 如何添加指向下拉选择选项的链接?
问题描述
这是我的下拉选择的图像,显示岛屿,例如 Maiana 作为父母,罪魁祸首作为孩子,例如 Batiboa Kumeto 等我只是想知道如何在选择选项中添加链接并将 id 传递给另一个表单?
我试图创建一个下拉菜单,如上图所示
Maiana - Koriaue Miruango - Batiboa Kumeto
Abaiang - Erenawa Aeete
但我无法实现的是添加到 Koriaue Miruango 的链接, - Maiana 岛下的 Batiboa Kumeto 等等。一旦单击其中一个名称,例如 Batiboa Kumeto,就会传递一个 ID 以加载另一个表单。
感谢你的帮助
我的岛屿模型
<?php
namespace App\Model\Enforcement;
use Illuminate\Database\Eloquent\Model;
class Island extends Model
{
protected $table = 'islands';
protected $fillable = ['island_name'];
public function culprits(){
return $this->hasMany(Culprit::class, 'island_id');
}
}
我的罪魁祸首模型
<?php
namespace App\Model\Enforcement;
use Illuminate\Database\Eloquent\Model;
class Culprit extends Model
{
protected $table = 'culprits';
protected $fillable = ['island_id','first_name','last_name','age','home_island'];
public function island(){
return $this->belongsTo(Island::class, 'island_id');
}
public function crimes(){
return $this->hasMany(Crime::class);
}
}
我的控制器
<?php
namespace App\Http\Controllers\Frontend\Enforcement;
use App\Model\Enforcement\Culprit;
use App\Model\Enforcement\Island;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$islands = Island::with(['culprits'])->get();
// $culprits = Culprit::get();
// dd($islands, $culprits);
return view('backend.enforcement.admin.tests.show',compact('islands','culprits'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create($id)
{
$culprit = Culprit::findOrFail($id);
$offences = Offence::pluck('name','id')->all();
$fishedareas = Fishedarea::pluck('fishedarea_name','id')->all();
return view('backend.enforcement.admin.tests.create',compact('culprit','offences','fishedareas'));
}
我的路线
Route::resource('/enforcements/tests', 'Frontend\Enforcement \TestController');
Route::get('/enforcements/tests/{id?}', 'Frontend\Enforcement\TestController@create')->name('tests.create');
我的索引视图
<select data-placeholder="Select island" style="width:350px;" class="chosen-select" tabindex="5">
<option value=""></option>
@foreach ($islands as $island)
<optgroup value="{{$island->id}}" label=" {{$island->island_name}}">
@foreach($island->culprits as $culprit)
<option value = "{{$culprit->id}}"> {{$culprit->first_name}}<a href="{{route('tests.create', $culprit->id)}}"> {{$culprit->last_name}} </a></option>
</optgroup>
@endforeach
@endforeach
</select>
我的创建表格
<div>
{!! Form::open(array('url' => route('tests.store'))) !!}
{!! Form::hidden('id', $culprit->id, old('id'), ['class' => 'form-control']) !!}
{!! Form::label('offence_id','Offence Name')!!}
{!! Form::select('offence_id',['' => 'Choose Offence Type']+ $offences, null, ['class'=>'form-control'])!!}
{!! Form::label('fishedarea_id','Fished Area')!!}
{!! Form::select('fishedarea_id',['' => 'Choose Fished Areas']+ $fishedareas, null, ['class'=>'form-control'])!!}
{!! Form::label('crime_date','Date')!!}
{!! Form::date('crime_date',null,['class'=>'form-control'])!!}
{!! Form::label('remarks','Remarks')!!}
{!! Form::textarea('remarks',null,['class'=>'form-control'])!!}
</div>
<div class="form-group">
<button class="btn btn-primary">Add New</button>
</div>
<div>
{!! Form::close() !!}
</div>
解决方案
至于知道我做了一些试错实验,并想出了这样的东西来解决我的问题。肯定有更好的方法
<select name="forma" data-placeholder="Select island" style="width:350px;" class="chosen-select" tabindex="5" onchange="location = this.options[this.selectedIndex].value;">
<option value=""></option>
@foreach ($islands as $island)
<optgroup value="{{$island->id}}" label="{{$island->island_name}}">
@foreach($island->culprits as $culprit)
{{--<option value="{{route('tests.create', $culprit->id)}}"> {{$culprit->first_name}} {{$culprit->last_name}}</option>--}}
<option value="{{route('tests.create', $culprit->id)}}">
<a href="{{route('tests.create', $culprit->id)}}">{{$culprit->first_name}} {{$culprit->last_name}}</a>
</option>
</optgroup>
@endforeach
@endforeach
</select>
推荐阅读
- android - 为什么 runningAppProcessInfo 总是只返回一个进程?
- python - 如何在 django 中添加样式
- c# - 如何在云端将 Appium 设置为 IOS 手机和 Mac 模拟器
- eclipse - Eclipse 卡在插件安装(市场)
- java - 为什么用户的输入没有出现在 Java 控制台中,而是出现在输出文本中?
- snowflake-cloud-data-platform - 雪花信用使用率太高?
- webpack - Webpack 没有在生产构建过程中优化 @fortawesome 和 react-lottie 包
- cuda - 使用 2D 间距阵列减少 CUB 和
- javascript - 将变量值从 JavaScript 函数传递到 SQL 查询 AWS Lambda
- html - 刷新与调整浏览器窗口大小时网格布局呈现不同