0

我使用此代码创建了一个单选按钮。

var slotDurationSettingsRow = dojo.create('tr', null, table);
    dojo.create('td', {innerHTML: 'Slot Dauer'}, slotDurationSettingsRow);
    var durationSettingsTD = dojo.create('td', {align: 'right'}, slotDurationSettingsRow);
    var durationSettingsContainer = dojo.create('div', null, durationSettingsTD);

    var radioOne = new dijit.form.RadioButton({
            label:"RadioButton1",
            value: "tea",
            name: "drink",
        },
        durationSettingsContainer);

按钮已创建,但标签属性似乎不起作用。请帮我找出问题?

4

2 回答 2

1

您需要创建一个单独的标签元素,如提到的@Layke。

var slotDurationSettingsRow = dojo.create('tr', null, table);

dojo.create('td', {innerHTML: 'Slot Dauer'}, slotDurationSettingsRow);

var durationSettingsTD = dojo.create('td', {align: 'right'}, slotDurationSettingsRow);

var durationSettingsContainer = dojo.create('div', null, durationSettingsTD);

var radioOne = new dijit.form.RadioButton({
    value: "tea",
    name: "drink",
}, durationSettingsContainer);

var label = dojo.create('label', {
    innerHTML: 'RadioButton1',
    for: radioOne.id
}, durationSettingsTD);

这是一个小提琴。请注意,标签已附加到durationSettingsTD节点。

我还会检查文档 dijit/form/RadioButton,尤其是示例。请注意,即使使用程序示例,它们也已经有一个label元素,但想法是相同的。

于 2013-09-20T15:49:51.167 回答
0

您不能只在 dijit/form/RadioButton 小部件上创建“标签”属性。您必须实际创建自己的标签并将其添加到 DOM。

AMD 风格

  domConstruct.create("label", {
            for: "Radio_Button_ID",                
            innerHTML: "Label Name"
        }, durationSettingsContainer);

老pre 1.6<风格

  dojo.create("label", {
            for: "Radio_Button_ID",                
            innerHTML: "Label Name"
        }, durationSettingsContainer);
于 2013-09-20T10:15:39.597 回答