@foreach($users as $user)
<tr>
<td>
<select id="select_month" name="month" class="form-control">
<option value="01" >Jan</option>
<option value="02" >Feb</option>
<option value="03">Mar</option>
<option value="04" >Apr</option>
<option value="05" >May</option>
<option value="06">Jun</option>
<option value="07" >Jul</option>
<option value="08" >Aug</option>
<option value="09">Sep</option>
<option value="10" >Oct</option>
<option value="11" >Nov</option>
<option value="12">Dec</option>
</select>
</td>
<td>
<select id="select_year" name="year" class="form-control">
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
</select>
</td>
<td>
<div id="url" class="btn-group mr5">
<button class="btn btn-primary btn-sm" onclick="url('{{ $user->id }}')">Invoice</button>
</div>
</td>
</tr>
@endforeach
上面的代码显示10个用户。我需要获得所选用户的月份和年份,以便通过url。
<script>
function url(id){
var month = $('#select_month').val();
var year = $('#select_year').val();
var url = "{{ web_url() }}/user/invoice/generate?id="+id+"&month="+month+"&year="+year;
window.location.href = url;
}
上面的脚本为第一个用户返回选定的月份和年份,其余用户返回未定义的月份和年份。既然我是新手,请给我提个主意。
通过上面的代码,您正在创建具有相同id的多个元素。尝试将计数器附加到每个ID id="select_month"+i
(使用适当的PHP语法,因为我不知道PHP),我将是循环计数器。
在函数中传递当前索引
function url(id,i){
var month = $('#select_month'+i).val();
var year = $('#select_year'+i).val();
var url = "{{ web_url() }}/user/invoice/generate?id="+id+"&month="+month+"&year="+year;
window.location.href = url;
}
小提琴