javascript - 根据JS中的选择值动态更新锚的href
问题描述
当关联的下拉列表更新为不同的值时,我想更新锚按钮的 href 值。我尝试更改菜单项,但我收到一条错误消息,告诉我所选列表项的值未定义,即使在开始时已定义值。即使提交默认值也不起作用。如果有人可以帮助我解决我做错的事情,那将不胜感激。
我正在尝试开始工作的HTML div示例(页面上有几个像这样的 div,这就是为什么我在 JS 中使用类列表而不是 ID 的原因):
<div class="yearcontainer catalogue">
<h2>CCRC 2017 Meeting Minutes</h2>
<div class="listgui">
<label for="2017input">Select from the 2017 list: </label>
<select id="2017input" class="dropdowns" name="2017input">
<option value="files/2017/010417.pdf">January 4, 2017</option>
<option value="files/2017/010417 Budget Workshop.pdf">January 4, 2017 Workshop</option>
<option value="files/2017/020317.pdf">February 3, 2017</option>
<option value="files/2017/021517.pdf">February 15, 2017</option>
<option value="files/2017/030117.pdf">March 1, 2017</option>
<option value="files/2017/040517.pdf">April 5, 2017</option>
<option value="files/2017/041917.pdf">April 19, 2017</option>
<option value="files/2017/050317 rev.pdf">May 3, 2017</option>
<option value="files/2017/060717.pdf">June 7, 2017</option>
<option value="files/2017/070517.pdf">July 5, 2017</option>
<option value="files/2017/080217.pdf">August 2, 2017</option>
<option value="files/2017/090617.pdf">September 6, 2017</option>
<option value="files/2017/092717.pdf">September 27, 2017</option>
<option value="files/2017/100317 Workshop.pdf">October 3, 2017 Workshop</option>
<option value="files/2017/110117.pdf">November 1, 2017</option>
<option value="files/2017/120617.pdf">December 6, 2017</option>
</select>
<a href="" class="onpagelink" target="_blank">Go..</a>
</div>
</div>
以及相关的JS:
var linkButtons = document.querySelectorAll(".onpagelink");
var linkDropDowns = document.querySelectorAll(".dropdowns");
for(i=0; i<linkDropDowns.length; i++) {
linkDropDowns[i].addEventListener("change", function() {
linkButtons[i].href = linkDropDowns[i].value;
});
}
解决方案
推荐阅读
- c# - 更新另一个类的值
- c# - 如何编译包含错误的 .sln 文件?
- c# - Watson Visual Recognition API C# 授权
- cordova - firebase 云消息中的 phonegap 推送插件 v1.10.4 以获得支持
- java - 在 android studio 中同步依赖项时出错,例如配置“compile”已过时,已被“implementation”和“api”取代
- clojure - Clojure apply 没有实现惰性序列的前四个元素?
- javascript - 未写入数组 - 异步 NodeJS
- mysql - 如何编写 SQL 查询以将两个表与映射表连接起来,并获得每个结果只有一行的格式化输出?
- python - 类型错误:装饰器()缺少 1 个必需的位置参数:'func'
- mysql - leetcode 574 获胜候选查询