由于连字符,Javascript 无法工作

标签 javascript

来 self 的Fiddle

<select id="doesnt-work">
  <option>Apple</option>
  <option>Orange</option>
  <option value="111">Pineapple</option>
  <option>Banana</option>
</select>
<input type="textbox" id="mytextbox"/>
<button onclick="displayResult(doesnt-work)">Click me</button> 

JavaScript

function displayResult(selTag)
{
var x=selTag.options[selTag.selectedIndex].text;
document.getElementById('mytextbox').value = x;
}

我知道它不起作用,因为“doesnt-work”之间有连字符

我需要使用连字符,因为它是由我的应用程序自动创建的,我无法控制它。

有谁知道怎么做吗?

最佳答案

您依赖的是 JavaScript 的一个错误部分。您不应该使用元素 ID 并让浏览器自动连接它。像设置值时一样使用 getElementById。

HTML:

<button onclick="displayResult('doesnt-work')">Click

JavaScript:

function displayResult (selId) {
    var selTag = document.getElementById(selId);
    var x=selTag.options[selTag.selectedIndex].text;
    document.getElementById('mytextbox').value = x;
}

关于由于连字符,Javascript 无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201137/

相关文章:

javascript - 我的 css 动画消耗了大量资源

javascript - HERE map 信息气泡无法使用 React 正确呈现

javascript - 如何将 console.log 发送到父窗口?

javascript - Knockout.js 使用 "with"绑定(bind)问题

javascript - 使用 less.js 获取更少的变量列表

javascript - 浏览器插件检测

javascript - 点击下拉菜单上下滑动

javascript - 经典的复制到剪贴板是否一定需要输入字段/文本区域字段?

javascript - js中一个对象创建另一个对象,子对象可以调用父对象吗?

javascript - 获取特定类别的选定单选按钮