javascript - 基本 JS - innerHTML 仅内联工作

标签 javascript html

我是 JavaScript 新手,我已经在这个网站和其他网站上搜索了几个小时来寻找解决方案,但无法让它发挥作用。我可能在这里犯了一个基本错误。

如果我像这样内联调用innerHTML,它会完美地工作:

<select id="myselect" onchange="this.innerHTML = '<option value="1">1</option><option value="100">100</option>'"></select>

但是如果我尝试从外部 JavaScript 文件或 HEAD 调用它,它就不起作用:

<script type="text/javascript">
function addSomeOptions(obj) {
    obj.innerHTML = '<option value="1">1</option><option value="100">100</option>'
}
</script>

<select id="myselect" onchange="addSomeOptions(this)"></select>

我真的很想在外部文件中添加 JavaScript,而不是内联文件,因为可能有数百个选项。我还意识到有 JS 函数用于添加选项标签,但由于选项的生成方式,我认为在这种情况下最好使用 innerHTML 函数。

最佳答案

您可以在 html 页面中尝试以下代码,

    <script type="text/javascript">
    function addSomeOptions(obj) {
        obj.innerHTML = '<option value="1">1</option><option value="100">100</option>'
    }
    </script>
    <select id="myselect" onchange="addSomeOptions(this)">
          <option>TestFirstValue</option>
          <option>TestSecondValue</option>
    </select>

关于javascript - 基本 JS - innerHTML 仅内联工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16677796/

相关文章:

javascript - Flot - 即使只有 1 个数据,如何使条形图具有一致的宽度

javascript - 如何从 Angular Yeoman 生成器中的列表中查看单个项目?

javascript - 如何将输入的文本附加到 ASP.NET MVC 项目文件中的 .txt 文件中?

html - 通过媒体查询处理智能手机屏幕

Jquery - 使用 anchor 文本翻转更改图像

html - Firefox、IE9 与 Chrome、Opera 中的水平 CSS 导航填充差异

asp.net - 使 TextBox 字段覆盖父 div,应该是跨浏览器的

javascript - 访问 NodeJS 中的变量

javascript - 这个函数怎么会返回未定义的?

javascript - 在 html 事件处理程序中调用 document.getElementsByName.Value