【问题标题】:how to add text next to a radio button using javascript如何使用javascript在单选按钮旁边添加文本
【发布时间】:2015-08-24 16:58:56
【问题描述】:

我是 Javascript 新手。我有一个问题,如何使用 javascript 在单选按钮旁边自动添加文本。我有以下代码:

for (var index=0; index<4; index++)
    {
        var text = "Hello" + index;
        var name = 'RadioButton' + (index+1);
        var radioBut = document.createElement('input');
        radioBut.setAttribute('type', 'radio');
        radioBut.setAttribute('name', name);
        document.body.appendChild(radioBut);

        var newdiv = document.createElement('div');
        var divIdName = 'my'+index+'Div';
        newdiv.setAttribute('id',divIdName);
        document.body.appendChild(newdiv);
        newdiv.innerHTML = text;

    }

它打印单选按钮,但文本显然打印在下面。我必须做什么才能获得以下格式:RadioButton + Text?

【问题讨论】:

  • 请包含html输出

标签: javascript button text radio-button


【解决方案1】:

Div 是块级元素,因此它会在新行上呈现。改用一些像 span 或 label 这样的内联元素:

for (var index = 0; index < 4; index++) {

  var text = "Hello" + index;
  var name = 'RadioButton'; // + (index + 1);
  var id = 'my' + index + 'Div';

  var row = document.createElement('div');
  document.body.appendChild(row);
  
  var radioBut = document.createElement('input');
  radioBut.setAttribute('type', 'radio');
  radioBut.setAttribute('name', name);
  radioBut.setAttribute('id', id);
  row.appendChild(radioBut);

  var label = document.createElement('label');
  label.setAttribute('for', id);
  label.innerHTML = text;
  row.appendChild(label);
}

使用label,您可以指定for 属性,该属性将指向相应的输入元素,这对用户体验很有好处。另请注意,为单选按钮提供相同的名称是有意义的。

【讨论】:

  • 我现在遇到的问题是单选按钮彼此相邻打印,而不是彼此下方。关于为什么的任何想法?我必须添加一个
    吗?
  • 您可以再添加一个容器并将输入和标签附加到其中。检查更新的答案。
  • 非常感谢您的帮助。我还有很多东西要学。
  • 没问题,每个人都曾是初学者。如果您愿意,请随时接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 2021-08-14
  • 2021-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多