我需要实现多项选择,它是这样的:
<ul>
<li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="1" {{ (Request::get('mediaChannelFilter[]')==1) ? "checked":"" }}> TV</li>
<li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="2" {{ (Request::get('mediaChannelFilter[]')==2) ? "checked":"" }}> Print</li>
<li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="3" {{ (Request::get('mediaChannelFilter[]')==3) ? "checked":"" }}> Radio</li>
<li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="4" {{ (Request::get('mediaChannelFilter[]')==4) ? "checked":"" }}> OoH</li>
</ul>
在控制器中,我使用此输入值并过滤结果。顺便说一句,我使用这个软件包进行Sphinx搜索 - https://github.com/sngrl/sphinxsearch
$mediaChannelFilter = Input::get('mediaChannelFilter');
if (!empty($mediaChannelFilter)) {
$results = $cl->filter('mediatype', [$mediaChannelFilter]);
}
但它只过滤了一个参数(最后一个参数),而不是整个数组。它也不会将我的输入字段标记为已选中。我应该在这里改变什么?
{{ (Request::get('mediaChannelFilter[]')==1) ? "checked":"" }}