0

我有一个网址

http://www.example.com/

我想将一个数组传递给 $.bbq.pushState

var myCars=new Array(); 
myCars[0]="Saab";       
myCars[1]="Volvo";
myCars[2]="BMW";

我怎样才能通过这个数组$.bbq.pushState

请帮忙 ........................

4

4 回答 4

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
    });
}
于 2014-10-26T01:05:20.753 回答
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]);               
}
于 2012-03-01T09:38:34.577 回答
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);
}

我对这些函数的工作方式不太满意,肯定有比创建数组对象和重写字符串更好的方法。稍后我会再看一下,如果我遇到任何事情,我会在这里发布。

于 2012-03-19T10:31:13.273 回答
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');
}
于 2012-10-26T06:15:04.777 回答