@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个用户。我需要获取所选用户的月份和年份才能通过网址。
<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;
}
上面的脚本返回第一个用户的选定月份和年份,其余部分未定义。因为,我是新手,这表明我的想法。提前谢谢。
答案 0 :(得分:0)
通过上面的代码,您将创建具有相同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;
}