Javascript 如何在laravel blade中提交表单后的年、月内保留值
我有一个表单,其中我使用的是从javascript获取数据的年和月下拉列表。代码如下:Javascript 如何在laravel blade中提交表单后的年、月内保留值,javascript,php,jquery,laravel,model-view-controller,Javascript,Php,Jquery,Laravel,Model View Controller,我有一个表单,其中我使用的是从javascript获取数据的年和月下拉列表。代码如下: <form id="commissionReportPanel" method="POST" action="{{route('commission-data')}}" > <input type="hidden" name="_token" value="
<form id="commissionReportPanel" method="POST" action="{{route('commission-data')}}" >
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<div class="row">
<div class="col-md-3">
<label class="col-form-label header-style">Select Month</label>
<div class="input-group">
<select class="dob input-sm" id="year" name="year"></select>
<select class="dob input-sm" id="month" name="month"></select>
</div>
</div>
<div class="col-md-3" style="margin-top: 23px;">
<button class="btn btn-primary" type="submit" id="search" onclick="return check_year()">Submit</button>
</div>
</div>
</form>
剧本
表单提交后,我已将用户选择的年份和月份从controller返回给blade。但我无法在上面的脚本中设置该值。我尝试了很多方法来保留数据,比如->withinput,在表单提交后将值设置为下拉ID,但由于默认的下拉值会因更改而受到影响,所以没有任何方法可以正常工作
在上述代码中提交表单后,我应该如何在下拉列表中设置旧的/用户选择的值?请帮助和指导。提前感谢您可以使用“选择”菜单上的“提交/保留”值设置数据值属性,然后在创建选项时根据该值进行检查,并在匹配时设置所选属性
在本例中,我将数据值设置为2013和2March
const monthNames=[一月、二月、三月、四月、五月、六月,
七月、八月、九月、十月、十一月、十二月
];
var qntYears=20;
var selectYear=$year;
var selectMonth=$month;
var selectDay=$day;
var currentYear=新日期。getFullYear;
对于var y=0;y另一方面,如果您已经通过PHP创建了选项标记,那么您可以使用laravel中的旧函数,那么它只是一个简单的三值回显从那里选择的属性。但是,由于您是在js中进行渲染的,因此可能会将其存储在localstorage中,并将其挂接到submit上,然后在提交后再次检索它,因为它不会在下拉文本内容中显示更新/选定的值,而是显示for循环的默认值
const monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
var qntYears = 20;
var selectYear = $("#year");
var selectMonth = $("#month");
var selectDay = $("#day");
var currentYear = new Date().getFullYear();
for (var y = 0; y < qntYears; y++){
let date = new Date(currentYear);
var yearElem = document.createElement("option");
yearElem.value = currentYear
yearElem.textContent = currentYear;
selectYear.append(yearElem);
currentYear--;
}
for (var m = 0; m <12; m++){
let monthNum = new Date(2018, m).getMonth();
let month = monthNames[monthNum];
var monthElem = document.createElement("option");
monthElem.value = monthNum;
monthElem.textContent = month;
selectMonth.append(monthElem);
}