动态添加“;选择“;通过DOM转换为HTML选项

Dynamically add "selected" to HTML option via DOM

本文关键字:HTML 选项 转换 通过 添加 选择 动态 DOM      更新时间:2023-09-26

现在我正在尝试使用JavaScript向HTML页面动态添加一些<select>元素;具体来说,<select>元素会让人们选择时间。我大部分时间都在那里:

  var newDiv = document.createElement("div");
  var hrSelect = document.createElement("select");
  hrSelect.name = "div_hr";
  for (i = 0; i < 24; i++) {
    var hrOption = document.createElement("option");
    var hrStr = String(i);
    if (i < 10) {
      hrStr = "0" + hrStr;
    }
    hrOption.value = hrStr;
    hrOption.appendChild(document.createTextNode(hrStr));
    hrSelect.appendChild(hrOption);
  }
  newDiv.appendChild(hrSelect);

这本身就很好。事情是这样的:我想让其中一个选项selected默认显示,但我不知道如何做到这一点。类似于:

    if (i == 12) {
      hrOption.selected = true;
    }

但这对我不起作用。我不知道如何让它发挥作用;谷歌搜索并没有提供任何有用的选项。有人能引导我找到答案吗?

(对于那些好奇的人,我想让selected选项默认为当前时间。我已经知道如何通过PHP和echo将时间输入我的JavaScript。)

编辑:事实证明,我想要的解决方案是正确的。我不知道为什么当我测试它时它对我不起作用。投票结束。

使用selectedIndex属性:

hrSelect.selectedIndex = 12;