Javascript 如何在laravel blade中提交表单后的年、月内保留值

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="

我有一个表单,其中我使用的是从javascript获取数据的年和月下拉列表。代码如下:

  <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>
                  &nbsp;   &nbsp;
<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);
    }