我想写一个新的Widget,它可以使用两个 DIV 标记一个外部DIV和一个内部DIV。如果用户点击内部 DIV ,则会弹出一个DropDownlist,其中的选项将由SQLite数据库获取。
define(["dojo/_base/declare","dijit/_Widget", "dijit/_Templated","dojo/_base/lang","dojo/request/xhr", "dojox/form/DropDownSelect"],function(declare,_Widget,_Templated,lang,xhr,DropDownSelect){
return declare([_Widget,_Templated],{
label : "Test PopUp",
templateString : null,
savedData : [],
datab : null,
constructor : function(db){
this.datab = db;
xhr("getoptions.php?database="+db+"&order=read").then(lang.hitch(this,function(result){this.createTS(result.toString().split(";"))}));
//this.templateString = TString;
this.inherited(arguments);
},
//TemplateString will be created
createTS : function(str){
var tmpdiv = document.createElement("div")
tmpdiv.innerHTML += "<div data-dojo-type='dojox/form/DropDownSelect'>";
for(var i = 0; i< str.length; i++){
var span = '<span id="'+i+'">'+str[i]+'</span>';
tmpdiv.innerHTML += span;
}
tmpdiv.innerHTML += "</div>";
var cont = document.createElement("div");
cont.appendChild(tmpdiv);
templateString = cont.innerHTML;
},
onChange : function(value){
this.savedData.push(value.toString());
},
});
});
Firebug告诉我该模板无效。
Widget代码在这里: http://pastebin.com/LQk7iFkH
字符串看起来如何才能正常工作?
问候