我想编辑 Accordion 标题 (formationName),一旦我点击刷新按钮,它应该更新 Accordion 标题。我不知道如何解决这个问题。
$("#refresh").click(function(){
myData.offsetFormations[0]["FormationName"]="party";
json = JSON.stringify(myData);
alert( json );
});
fiddle :http://jsfiddle.net/xg7cr0g4/76/
最佳答案
这取决于你的场景。如果经常刷新大量数据,您可能希望进行就地编辑。
如果只是点击刷新,数据不多,按照原来的方式重新建表即可。这方面的一个例子(虽然它不是很有效):
http://jsfiddle.net/xg7cr0g4/78/
var build = function(){
//...build the grid/accordion here on demand (load,reload,programmatically)
};
var refresh = function(){
//update json
build(); //rebuild;
};
$(document).ready(function(){
// build on load
build();
});
jQuery UI Accordion 需要在重建时销毁:
re-initialize jquery accordion on callback
这是工作 fiddle :
http://jsfiddle.net/xg7cr0g4/79/
您还可以通过遵循模块模式更好地组织代码并避免使用全局函数:
var Grid = function(){
var self = this;
this.build = function(){
...
};
this.rebuild = function(){
...
};
this.init = function(){
...
this.build();
$('#refresh').on('click', this.refresh);
...etc
};
$(this.init);
};
var grid = new Grid();
grid.rebuild();
要回答您的其他问题,只需添加一个额外的方法:
this.setHeader = function(header){
// similar to rebuild, change the json using param
x[...] = header;
this.build();
};
关于javascript - 在 Javascript 中刷新按钮更新 Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28466510/