javascript - 通过 DOM 动态添加 "selected"到 HTML 选项

标签 javascript dom

现在我正在尝试使用 JavaScript 动态添加一些 <select> HTML 页面的元素;具体来说,<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;

关于javascript - 通过 DOM 动态添加 "selected"到 HTML 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25817513/

相关文章:

javascript - 输入组件 : React does not recognize the prop on a DOM Element

Javascript 回调未在 razor MVC 中执行

javascript - 如何更改 Sencha Touch 中按钮的尺寸

javascript - 如何通过知道节点的值来访问dom && 通过只知道值来获取accordion的索引

javascript - 我的 javascript 代码没有链接到 dom

javascript - 更改循环中的组件状态

javascript - "return false"在某些浏览器中被忽略,因为链接使用 JavaScript 动态添加到 DOM

javascript - 基本 Web 支付请求 API 示例

javascript - jQuery 按时钟时间自动刷新页面

javascript - 在 E4X 中过滤