【发布时间】:2020-09-21 00:16:41
【问题描述】:
我是 Laravel 的新手,我试图将 select 的值设置为从我的控制器返回的值。我不知道为什么它不会改变价值
show.blade.php
<div class="container d-flex justify-content-center">
<form action="{{ action('ReportController@show', ['id' => 'month']) }}" class="month-form" method="GET">
<select name="month" id="month" class="custom-select form-input month-select">
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<button class="btn btn-secondary">Generate Report</button>
</form>
</div>
控制器 函数显示()
$month_number = request('month');
$month_name = date("M", mktime(0, 0, 0, $month_number, 1));
return view('reports.show', compact('month_number', 'month_name'));
This is my form 当我单击生成按钮时,它会返回此页面,该值将是我之前选择的值。因此,如果我选择 May 然后生成按钮,则新页面将是 May 在 select 中,而不是默认值。
编辑:我也尝试过使用 jQuery,但它只会让我的表单空白,根本不会给它任何价值
$(document).ready(function(){
var month = @json($month_name ?? '');
$('#month').val(month);
});
【问题讨论】:
-
重定向后 url 中是否存在
month变量?您是否在重定向后再次返回此页面,但使用$month_name变量? -
是的 url 中存在月份变量:“127.0.0.1:8000//monthly-reports/month?month=05”。我可以使用 console.log() 获取数据,但无法更改选择值
-
我正在发布答案,它可能会对您有所帮助。
标签: php jquery laravel eloquent