【问题标题】:Dojo radio button label not showing upDojo 单选按钮标签未显示
【发布时间】:2013-09-20 10:11:33
【问题描述】:

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

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);

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

【问题讨论】:

    标签: javascript button dojo radio


    【解决方案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);
    

    Here's a fiddle。请注意,标签附加到durationSettingsTD 节点。

    我还会检查the documentation for dijit/form/RadioButton,尤其是示例。请注意,即使是编程示例,它们也已经有了一个 label 元素,但想法是一样的。

    【讨论】:

    • 虽然这是正确的,但与所有其他 dijit 表单小部件相比,它也非常愚蠢且完全独特。不过,Dijit 对表单的一般支持非常糟糕......
    【解决方案2】:

    您不能只在 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);
    

    【讨论】:

    • 对不起,如果你不打算帮助自己,我无法帮助你。在您的情况下,“不起作用”无法提供更多帮助。我的代码完全有效,因此您所要求的超出了您提供的详细信息。
    • 我不知道你想要什么细节。错误控制台为空且标签不存在
    • 我认为它不起作用,因为您想将标签放在 durationSettingsTD 节点下,而不是 durationSettingsContainer 下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 2023-03-09
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多