手风琴中的刷新按钮

时间:2015-02-12 15:24:31

标签: javascript jquery json

当用户点击刷新按钮时,我想直接从UI更新手风琴标题FormationName信息。

然而,在当前的设计中,手风琴标题由硬编码字符串(" party")更新,仅用于测试目的。当用户点击刷新按钮时,第一个手风琴标题FormationName会更新。

$("#refresh").click(function () {
    myData.offsetFormations[0]["FormationName"] = "party";
    $('#accordion').accordion('destroy');
    build();
});

http://jsfiddle.net/xg7cr0g4/85/

1 个答案:

答案 0 :(得分:1)

好的,这就是我想出的。首先,将具有类.formationName的所有元素添加到数组中。它应与myData.offsetFormations

的长度相同
var names = [];
var counter = 0;
$(".formationName").each(function(){
   names[counter] = $(this).text();
   counter++;
});

记录此元素将产生一个包含8个名称的数组,这些名称具有标题的值(已调整或以其他方式。)

接下来,循环遍历myData.offsetFormations并将[i]["FormationName"]的值设置为名称数组的值:

for(var i = 0; i < myData.offsetFormations.length; i++){
  myData.offsetFormations[i]["FormationName"] = names[i];
} 

您的整个功能应如下所示:

$("#refresh").click(function () {
    var names = [];
    var counter = 0;
    $(".formationName").each(function(){
       names[counter] = $(this).text();
        counter++;
    }); 
    for(var i = 0; i < myData.offsetFormations.length; i++){
         myData.offsetFormations[i]["FormationName"] = names[i];
    }

    $('#accordion').accordion('destroy');
    build();
});

这是更新的小提琴,显示了实际的功能:

JSFiddle

希望有所帮助!