- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 javascript 中有一些下拉菜单,以及一个包含所有这些菜单的数组:
HTML:
<select name="a" id="a">
<option value="ABC">ABC</option>
<option value="DEF">DEF</option>
<option value="GHI">GHI</option>
</select>
<select name="b" id="b">
<option value="JKL">JKL</option>
<option value="MNO">MNO</option>
<option value="PQR">PQR</option>
</select>
Javascript:
var a_dropdown = document.getElementById("a")
var b_dropdown = document.getElementById("b")
var c_dropdown = document.getElementById("c")
var all_dropdowns = [a_dropdown, b_dropdown, c_dropdown]
现在,我可以从其独立变量设置下拉菜单的值,并且它在视觉上更新得很好:
a_dropdown.value = a_dropdown.options[2].value
这可以看出有效 in this jsfiddle .
现在,这就是事情变得奇怪的地方。我还可以通过包含所有下拉列表的数组的数组索引更改下拉列表的值:
all_dropdowns[0][all_dropdowns[0].selectedIndex].value = all_dropdowns[0].options[2].value;
以相同的方式更新选定的值。 但是,虽然这个更新值反射(reflect)在a_dropdown的选择索引值中,如图in this updated jsfiddle (运行并查看警报消息),下拉菜单中未直观显示更改的值。
鉴于 javascript 通过引用为非基本类型传递变量,我不明白为什么以这两种不同的方式设置下拉列表的值会导致不同的行为。理想情况下,我想找出一种方法来获得设置下拉值的第二种方法,以产生与第一种相同的行为(实际上是在视觉上改变菜单的值)。
最佳答案
在第二个示例中 (all_dropdowns[0][all_dropdowns[0].selectedIndex].value = all_dropdowns[0].options[2].value;
),您实际上并没有设置Select 的值。
您正在设置选项的值。
在fiddle中,当你记录它的时候,你也记录了选项的值,当然是GHI。
查看此更新 fiddle并观察第 6 行和第 7 行的 JS 以了解差异。
关于javascript - 下拉选择的值没有在视觉上更新(html-select,javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841164/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!