我有一个网址
http://www.example.com/
我希望将数组传递给$.bbq.pushState
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
如何通过$.bbq.pushState
请帮助........................
答案 0 :(得分:0)
try this js code..
obj ={}
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
for(i=0;i<myCars.length;i++){
obj.newcars.push(myCars[i]);
}
答案 1 :(得分:0)
我遇到过这个问题并快速使用这两个函数作为以数组形式向片段添加和删除信息的方法。
function AddItemToFragment(newItem) {
var items = $.bbq.getState("itemArray");
if (!items)
items = new Array();
items.push(newItem);
$.bbq.pushState({itemArrray: items});
}
function RemoveItemFromFragment(itemToRemove) {
var items = $.bbq.getState("itemArray");
for (var i = items.length - 1; i >= 0; i--) {
if (items[i] === itemToRemove)
items.splice(i, 1);
}
$.bbq.pushState(items);
}
我对这些函数的工作方式不太满意,必须有一个比创建数组对象和重写字符串更好的方法。我稍后再看看这个,如果我来的话,我会在这里发布。
答案 2 :(得分:0)
这就是我在BBQ v1.2.1中所做的,它对我来说很好。
推动国家:
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
$.bbq.pushState({ 'myCars': myCars });
获取hashchange事件中的状态:
$(window).on('hashchange', function (e) {
var myCars2 = e.getState('myCars');
}
答案 3 :(得分:0)
var checkedBoxes = {}; // new object outside of function
function toggleLayer(layer) { // layer is your key variable
var val = $('#'+layer).prop('checked'); // val is the value variable
checkedBoxes[layer] = val; // add pairs to the object
$.each( checkedBoxes, function( key, value ) { // foreach
$.bbq.pushState(checkedBoxes); // create a new parameter for each key value
});
}