0

我想知道是否可以将 .length 应用于 Titlepane。例如,如果我在对象数组中有一个名称列表,并且我希望为每个名称创建一个标题窗格:

     var html = '';
         for (var i = 0; i < data.length; i++)
         html += data[i].Name+'<br>';
         targetNode.innerHTML = html;

目前,该循环将仅显示我在列表中的所有名称。因此,是否可以为每个名称创建一个标题窗格并将名称作为内容放置在其中?

如果有人对我将如何做这件事有任何示例或建议,那就太好了。

编辑 :

    var xhrArgs = {
url: "http://131.41.28.41:3000/pages.json",
handleAs: 'json',
timeout : 2000,

load: function(data){

 for (var i = 0; i < data.length; i++) {
var titlePane = new TitlePane({
  title: 'Title Pane ' + i,
  content: '<div>' + data[i].Name + '</div>'
});
titlePane.placeAt(dom.byId('ok'));
}
  },
error: function(error){
  targetNode.innerHTML = "An unexpected error occurred: " + error;
  }
 };

 // Call the asynchronous xhrGet
 var deferred = dojo.xhr.get(xhrArgs);
 });

 });
4

1 回答 1

0

确实可以为数组中的每个对象创建一个新的标题窗格:

require(['dijit/TitlePane'],function(TitlePane){
  for(var i=0; i<data.length;i++){
    var titlePane = new TitlePane({
      title: 'Title Pane '+i,
      content:'<div>'+data[i].Name+'</div>'
    });
    titlePane.placeAt(/* dom node where all titlepanes should be placed */);
  }
});

有关 dijit TitlePane 的更多信息,请查看参考指南

可以在此处找到该概念的工作 jsfiddle 。

于 2013-01-11T17:53:24.183 回答