ste*_*ten 5 javascript dojo label textbox
如何在文本框中添加标签(以编程方式):
el = new dijit.form.TextBox({label: '...' });
form.containerNode.appendChild(el.domNode);
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用(道场1.6)
小智 10
Dojo提供了dojox.layout.TableContainer,用于自动将标签与控件配对:
var layout = new dojox.layout.TableContainer({
showLabels: true,
orientation: "horiz"
});
var textBox = new dijit.form.TextBox({
name: 'text',
title: 'My Label'
});
layout.addChild(textBox);
layout.placeAt(form.containerNode);
layout.startup();
Run Code Online (Sandbox Code Playgroud)
jsfiddle(感谢模板,@ jumpnett)
我从未见过 dijit.form.TextBox 使用 lable 属性在 TextBox 旁边实际显示标签的任何示例。标签始终是单独的标签元素或文本节点。
我相信 TextBox 仅具有此属性,因为它从 dijit._Widget 继承它(根据API 文档)。
要以编程方式添加标签,只需将单独的文本节点或标签元素附加到表单的 domNode:
dojo.require("dijit.form.Form");
dojo.require("dijit.form.TextBox");
function buildForm() {
var form = new dijit.form.Form({
}, dojo.doc.createElement('div'));
var textBox = new dijit.form.TextBox({
name: 'text'
}, dojo.doc.createElement('input'));
document.body.appendChild(form.domNode);
form.domNode.appendChild(dojo.doc.createTextNode("My Label "));
form.domNode.appendChild(textBox.domNode);
}
dojo.addOnLoad(buildForm);
Run Code Online (Sandbox Code Playgroud)
这是 jsfiddle 的完整示例。