更新jQuery flexbox

更新jQuery flexbox,jquery,jquery-flexbox,Jquery,Jquery Flexbox,有没有办法用JSON数组更新jQuery flexbox的结果?我已经创建了flexbox,我想更新它的结果 我按如下方式初始化flexbox: $('#myFlex').flexbox({ "results": [ { "id": "1", "name": "Ant" }, { "id": "2", "name": "Bear" } ]}, { allowInput: false,

有没有办法用JSON数组更新jQuery flexbox的结果?我已经创建了flexbox,我想更新它的结果

我按如下方式初始化flexbox:

$('#myFlex').flexbox({  
        "results": [  
            { "id": "1", "name": "Ant" },  
            { "id": "2", "name": "Bear" }
        ]}, 
    {  
    allowInput: false,  
    paging: false,  
    maxVisibleRows: 8  
});

这是一个很好的方法,而且很有效。假设我想在不重新初始化flexbox的情况下更新元素。如何做到这一点?

您尚未指定如何初始化flexbox或如何取回数据。但是,根据和,当您指定URL时,名为
results
的JSON属性用于获取数据行。这一切都应该自动发生。例如(直接从文档中):

样本响应:

{"results":[  
    {"id":1,"name":"Ant"},   
    {"id":2,"name":"Bear"},  
    {...} // more results here...  
]} 

或者,您应该能够使用
resultsProperty
来指定不同的属性名称。

好的,所以我为自己设计了一个解决方案

Flexbox在初始化时通过变量
o.source
设置数据


我所做的是将
o.source
存储(和访问)为jQuery
.data()
。这使我能够查看/更改值。

在试验相同的问题时,我发现jQuery Flexbox存储作为引用传递的数据。这意味着您可以执行以下操作:

var data = {results: [{id:1,name:'Ant'},{id:2,name:'Bear'}], total:2};
$('#myFlex').flexbox(data);

// ...

data.results[data.total] = {id:3,name:'Cat'};
data.total++;

与股票插件,它将工作。要记住的唯一一点是,在添加新元素时,您必须记住也要更新
.total
属性。

“您应该能够使用resultsProperty指定不同的属性名称。”我如何才能做到这一点$(#myid”).results(results)不起作用(resultsProperty=='results')@babonk你能发布1吗。如何初始化flexbox和2。你的回答是什么样的?这一切都应该是自动发生的。更新了问题,告诉我你是否需要更多的细节,我可以添加them@babonk啊,我明白了-您使用的是静态选项。AFAICT,该数据无法更新。允许更新的唯一方法是使用一个URL,该URL应该指向一个服务器端资源,该资源使用JSON数据进行响应。。完成后将发布我的答案
var data = {results: [{id:1,name:'Ant'},{id:2,name:'Bear'}], total:2};
$('#myFlex').flexbox(data);

// ...

data.results[data.total] = {id:3,name:'Cat'};
data.total++;