0

Titlepane に .length を適用できるかどうか疑問に思っていました。たとえば、オブジェクト配列に名前のリストがあり、名前ごとにタイトル ペインを作成したい場合:

     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 に答える