在Laravel中将复选框数组发送到GET表单

时间:2017-04-19 15:51:20

标签: php laravel sphinx

我需要实现多项选择,它是这样的:

<ul>
   <li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="1" {{ (Request::get('mediaChannelFilter[]')==1) ? "checked":"" }}>&nbsp;TV</li>
   <li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="2" {{ (Request::get('mediaChannelFilter[]')==2) ? "checked":"" }}>&nbsp;Print</li>
   <li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="3" {{ (Request::get('mediaChannelFilter[]')==3) ? "checked":"" }}>&nbsp;Radio</li>
   <li><input type="checkbox" name="mediaChannelFilter[]" onchange="this.form.submit()" class="test" value="4" {{ (Request::get('mediaChannelFilter[]')==4) ? "checked":"" }}>&nbsp;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":"" }}

0 个答案:

没有答案