如何将占位符添加到单选按钮?

时间:2018-02-10 16:16:06

标签: javascript

我想知道是否有办法将占位符添加到单选按钮。我尝试这样做,代码如下,但它没有用。我希望第一个按钮的占位符值为“1”,第二个按钮的值为“2”,依此类推。有没有办法做到这一点?我的意思是,当用户查看按钮时,该按钮的编号为“1”。

  function drawTable(daysInMonth) {
          var cellsToDraw = daysInMonth;
          var table = document.getElementById("table");
          table.innerHTML = "";
          for (r = 0; r < (daysInMonth / 7); r++) {
            var newRow = document.createElement("tr");
            table.appendChild(newRow);
            for (c = 0; c < 7 && cellsToDraw > 0; c++) {
              var newCell = document.createElement("input");
              newCell.setAttribute("type", "radio");
              newCell.setAttribute("name", "day");
              newCell.setAttribute("placeholder", 1)
              newRow.appendChild(newCell);
              newCell.innerHTML = //add the numbers here? 
              cellsToDraw--;
            }
          }
        }

CSS:

input[type=radio] {
  border: 1px solid;
  padding: 0.5em;
  -webkit-appearance: none;
  width: 95px;
  height: 100px;
  margin-right: -4px;
  margin-top: -8px;
}

所有帮助都是适当的!

2 个答案:

答案 0 :(得分:1)

单选按钮不支持占位符,无论如何都不会有任何空间来渲染它。

听起来你的占位符与标签混淆(见this article)。

改为使用LABEL元素。

除此之外:不允许INPUT元素成为TR元素的子元素。只有TD和TH元素可能是TR的子代。

&#13;
&#13;
function drawTable(daysInMonth) {
  var cellsToDraw = daysInMonth;
  var table = document.createElement("table");
  document.body.appendChild(table);
  for (r = 0; r < (daysInMonth / 7); r++) {
    var newRow = document.createElement("tr");
    table.appendChild(newRow);
    for (c = 0; c < 7 && cellsToDraw > 0; c++) {
      var newCell = document.createElement("td");
      var input = document.createElement("input");
      var label = document.createElement("label");
      input.setAttribute("type", "radio");
      input.setAttribute("name", "day");
      label.appendChild(input);
      label.appendChild(document.createTextNode("1"));
      newCell.appendChild(label);
      newRow.appendChild(newCell);
      cellsToDraw--;
    }
  }
}

drawTable(30);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

而不是innerHTML,您可以设置值

newCell.value = c