我想将选定的单选按钮值作为参数传递给Laravel路由。
我的路线是:
Route::resource('/datas','DataController');
从这条路线上,我的目标是致电localhost:8000 / datas / {data}
我的data.blade.php是:
<form id="dataform" action="{{ route('datas.show')}}" method="GET">
<table class="table">
<tr>
<th>Select bullet</th>
<th>SL NO</th>
<th>Name</th>
<th>Age</th>
</tr>
@foreach ($datas $key => $data)
<tr>
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
<td>{{$key}}</td>
<td>{{$data->name}}</td>
<td>{{$data->age}}</td>
</tr>
@endforeach
</table>
<button type="submit" id="edit_submit" class="btn btn-default">Show</button> </form>
我的表演功能将是...
public function show($id)
{
//Code to showing data and redirect to show page
}
我想获取此单选按钮的价值(如下所示)。
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}>
并将其作为参数包含在下面的“表单”操作中
<form id="dataform" action="{{ route('datas.show')}}" method="GET">
答案 0 :(得分:0)
仅靠HTML / Blade不能实现这一目标。您需要使用javascript(或javascript框架)来进行实时更改,因为表单的操作路线中的参数取决于所选收音机的值。
action="{{ route('datas.show', [ 'id' => [insert id here] ])}}"
答案 1 :(得分:0)
我对此代码做了一些更改。 将按钮更改为锚标记。 所以我的blade.php是:-
<table class="table">
<tr>
<th>Select bullet</th>
<th>SL NO</th>
<th>Name</th>
<th>Age</th>
</tr>
@foreach ($datas $key => $data)
<tr>
<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
<td>{{$key}}</td>
<td>{{$data->name}}</td>
<td>{{$data->age}}</td>
</tr>
@endforeach
</table>
<a href="javascript:showfunction()" id="showlink" class="btn btn-default">Show</a>
我也添加了一个javascript函数。
<script>
function showfunction(){
var id = document.querySelector('input[name = "data"]:checked').value;
var url = '{{route("admin.questions.show",":id")}}';
url=url.replace(':id',id);
document.location.href=url;
}
</script>