序列化方法应该是:
?refine=panelId:facet1id...
答案 0 :(得分:0)
您可以提取表示已选择内容的数据,如下所示:
$('#getSelection').click(function(){
var selection = $('.panel').map(function(_,e){
var $e = $(e);
return {
panelId: $e.data('id'),
selectedFacets: $e.find('input:checkbox:checked').map( function(_,i){
return i.id;
}).get()
};
}).get();
console.log(selection)
});
假设一个标识为getSelection
的按钮,此代码创建一个包含以下内容的对象数组:
[Object {panelId =“size”,selectedFacets = [1]},Object {panelId =“base_colour”,selectedFacets = [1]},Object {panelId =“brand”,selectedFacets = [1]}] < / p>
在该示例中,每个selectedFacets
属性都是复选框中id
属性的数组。
实例:http://jsfiddle.net/sk7pqf5c/4/
从那里你只需要将该数组转换为一个字符串并将其传递到一个问题字符串的任何地方。换句话说,您需要解析该字符串,将其转换回类似于上面生成的数组,并使用它预先选择屏幕上的复选框。