我已选中复选框:
{{ form_ajax('onAjaxList') }}
{% for soc in socs %}
<input type="checkbox" name="Filter[soc_id]" value="{{soc.id}}" id="
{{soc.name}}">
{% endfor %}
{{ endform() }}
我尝试从控制器获取值:
$options = post('Filter',[]);
但在$ options中我只得到最后一个复选框值,我需要完整数组复选框。怎么做?
答案 0 :(得分:1)
您的输入名称应该与name="Filter[soc_id][]"
代替name="Filter[soc_id]"
,因此请更改输入
<input type="checkbox" name="Filter[soc_id]" value="{{soc.id}}" id="
{{soc.name}}">
到此
<input type="checkbox" name="Filter[soc_id][]" value="{{soc.id}}" id="
{{soc.name}}">
答案 1 :(得分:0)
当dealing
multiple checkbox
array
时,您始终需要使用[]
。
因此,在名称之后添加data index
方括号将使其成为数组,并且添加name="Filter[soc_id][0]" , name="Filter[soc_id][1]", name="Filter[soc_id][2]" ...
将从 0 index
如果您需要更多控制权,您还可以手动传递
{{ form_ajax('onAjaxList') }} {% for soc in socs %} <input type="checkbox" name="Filter[soc_id][]" value="{{soc.id}}" id=" {{soc.name}}"> {% endfor %} {{ endform() }}
,如果需要使用已保存记录的ID,现在数组键将成为您记录的ID。
在您的情况下,您的代码应如下所示
$options = post('Filter',[]);
$query->whereIn('soc_id', $options['soc_id']);
如果您想使用过滤器,则从服务器端
你可以使用它(10月CMS,laravel)
soc_id
这将完成工作,根据if(www[15] != "false") {
var seatavailablepng="Public2/images/empty-seat.png";
} else {
if(yyy[15] != "false") {
varseatavailablepng="Public2/images/ladies-seat.png";
} else {
var seatavailablepng="Public2/images/reserved-seat.png";
}
}
sts += '<td align="right" id="three" name="seat[]" onclick=myfuncset("'+vvv[15]+'",'+fare[15]+') ><a href="#" id="'+vvv[15]+'"><img src='+seatavailablepng+' alt="" id='+seatestatus+'/></a></td>';
进行过滤。
如果您有任何疑问,请发表评论。