javascript - 使用javascript在多行表中显示下拉项的值
问题描述
我有一个包含 2 列的表。第一个有一个下拉列表,需要选择它才能在第二列中显示其值。问题是只有表的第一行正在更新。选择第二个下拉列表时,第一行正在更新。我不是 javascript 开发人员,我正在寻找如何解决这个问题。
以下是部分代码:
function updateinput(e) {
var selectedOption = e.options[e.selectedIndex];
document.getElementById('viewvalue').value = selectedOption.getAttribute('data-name');
}
<tr>
<td>
<select onchange="updateinput(this)">
<option data-name="">Select</option>
<option data-name="value 1">test 1</option>
<option data-name="value 2">test 2</option>
</select>
<td><input type="text" id="viewvalue" name="viewvalue"></td>
<br>
<td>
<select onchange="updateinput(this)">
<option data-name="">Select</option>
<option data-name="value 1">test 1</option>
<option data-name="value 2">test 2</option>
</select>
<td><input type="text" id="viewvalue" name="viewvalue"></td>
</tr>
解决方案
您必须保留对选择字段的引用。由于您已经使用了数据属性,因此我在示例中做了同样的事情。
附件data-select-index
允许您引用id
相应输入字段的。例如 select-tagdata-select-index="num1"
引用 input-tagid="view-num1"
等等
function updateinput(e) {
var selectedOption = e.options[e.selectedIndex];
document.getElementById('view-' + e.getAttribute('data-select-index')).value = selectedOption.getAttribute('data-name');
}
<tr>
<td>
<select data-select-index="num1" onchange="updateinput(this)">
<option data-name="">Select</option>
<option data-name="value 1">test 1</option>
<option data-name="value 2">test 2</option>
</select>
<td><input type="text" id="view-num1" name="viewvalue"></td>
<br>
<td>
<select data-select-index="num2" onchange="updateinput(this)">
<option data-name="">Select</option>
<option data-name="value 1">test 1</option>
<option data-name="value 2">test 2</option>
</select>
<td><input type="text" id="view-num2" name="viewvalue"></td>
</tr>
推荐阅读
- postgresql - 如何与多处理 Python 共享连接池
- javascript - 加载时的 jQuery 窗口过早触发。我还能用什么?Wordpress 中的 Javascript
- python - 目前正在编写一个自动点击器,并且正在尝试不断更改点击之间的延迟并且遇到问题
- python - 使用 BS4 将 HTML 表抓取到 CSV 以与 Pandas 一起使用
- javascript - 用于 intlTelInput 的 jquery 无法添加事件侦听器
- python - Dask 中 compute() 的用途
- jquery - Passport.js 中间件重定向不适用于 AJAX?
- ios - 如何在初始 viewDidLoad 周期后等待子视图布局稳定下来?
- javascript - 如何解决 - 更改到达时间不会更改到达目的地的时间长度
- ios - 如何使用自签名证书为 TLS 创建 iOS NWConnection?