我的搜索表上有一个过滤器,允许人们过滤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>