选择具有多个值的输入:GET操作导致不必要的长URL

时间:2019-03-21 23:34:53

标签: javascript jquery selectize.js

我的搜索表上有一个过滤器,允许人们过滤YouTube频道显示的结果。我通过使用selectize select输入字段来做到这一点,该字段允许他们使用希望将结果限制到的通道来填充该字段。

这很好用,但是当他们提交页面时,URL的结尾不必要地长:

/search?q=rubber&channels=1&channels=2&channels=3&sort=rel

如您所见,URL重复每个值的channel=#参数。有什么办法可以将其压缩为更类似的内容:

/search?q=rubber&channels=1,2,3&sort=rel

我可以执行以下操作以该格式获取selectize的值:

var channels = $('#channels')[0].selectize.items;

返回哪个

["1","2","3"]

但是我不知道在提交表单时如何在结果URL中反映出来。

我尝试了以下操作:

    $('#filter-form').on('submit', function(e){
        var tags = $('#tags')[0].selectize.items;
        var channels = $('#channels')[0].selectize.items;

        $('#channels').val(channels.join(','));
    });

似乎什么也没做。

我的表单中的selectize字段(方法=“ GET”):

<select name="channels" id="channels" multiple placeholder="search channels" aria-describedby="channelTip"></select>

0 个答案:

没有答案