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

但是,在当前设计中,手风琴标头是通过硬编码字符串(“ party”)更新的,仅用于测试目的。当用户单击“刷新”按钮时,第一个手风琴标题FormationName被更新。

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


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

最佳答案

好的,这就是我的想法。首先,将所有具有类.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

希望有帮助!

10-08 13:38