如何將標籤添加到文本框(編程):添加標籤的文本框(編程)
el = new dijit.form.TextBox({label: '...' });
form.containerNode.appendChild(el.domNode);
這似乎並沒有工作(道場1.6)
如何將標籤添加到文本框(編程):添加標籤的文本框(編程)
el = new dijit.form.TextBox({label: '...' });
form.containerNode.appendChild(el.domNode);
這似乎並沒有工作(道場1.6)
我已經從未見過dijit.form.TextBox使用lable屬性在TextBox旁邊實際顯示標籤的任何示例。標籤始終是單獨的標籤元素或文本節點。
我相信TextBox只具有此屬性,因爲它從dijit._Widget繼承它(根據API docs)。
要programmaticaly添加一個標籤,只是一個單獨的textnode或標籤元素追加到窗體的れ:
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);
Here上的jsfiddle一個完整的例子。
yourPlaceholder.domNode.appendChild(dojo.doc.createTextNode("Label Text"));
yourPlaceholder.addChild(yourTextBox);
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();
jsfiddle(爲模板,@jumpnett感謝)
這太棒了!但是,我認爲你不需要最終的啓動電話了。希望這可以幫助! – streetlight
我用下面的代碼片斷得到它:
dojo.place('<label for="field" > Label Name </label>',dojo.byId('TextField_Id'),'before');
'_Widget'的標籤屬性實際上來自'dojox/lay中的dojo.extend調用出/ TableContainer'。我在dojo郵件列表http://dojo-toolkit.33424.n3.nabble.com/ValidationTextBox-label-property-td3287477.html上問了同樣的問題。請注意,即使使用此屬性,它也不會在任何地方自動顯示。 – BuffaloBuffalo
@BuffaloBuffalo感謝您的補充見解。我昨天查看了源代碼,實際上找不到在任何地方定義的標籤屬性。 – jumpnett