javascript - 在 Javascript 中刷新按钮更新 Accordion

标签 javascript jquery json

我想编辑 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/

相关文章:

javascript - 类型错误 : radioButton[i] is undefined

jquery - 排除按键上的表单元素

c# - 将 JSON 字符串解析为 List<string>

java - 如何过滤字符串/列表?

javascript - 防止子元素在子菜单项单击时触发父事件

javascript - 向 NodeJS 中的 JSON 对象添加新属性

javascript - 如何在 javascript/lodash 中将字符串数组转换为键控对象

javascript - Node.js 获取文件扩展名

javascript - 如何获取两个日期时间之间的日期数组

javascript - jQuery 向事件发送参数