我有一个网址
http://www.example.com/
我想将一个数组传递给 $.bbq.pushState
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
我怎样才能通过这个数组$.bbq.pushState
请帮忙 ........................
我有一个网址
http://www.example.com/
我想将一个数组传递给 $.bbq.pushState
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
我怎样才能通过这个数组$.bbq.pushState
请帮忙 ........................
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
});
}
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]);
}
我遇到了这个问题,并迅速使用这两个函数作为一种方法,以数组的形式向片段添加和删除信息。
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);
}
我对这些函数的工作方式不太满意,肯定有比创建数组对象和重写字符串更好的方法。稍后我会再看一下,如果我遇到任何事情,我会在这里发布。
这就是我在 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');
}