html select-JavaScript将值optgroup复制到其他输入
html select - JavaScript copy value optgroup to other input
我选择了选项:
<form>
<select name="sel" id="sel" onchange="run()">
<option selected disabled>Wybierz...</option>
<optgroup id="user" value="user" label="user">
<option value="1">michal</option>
<option value="2">mateusz</option>
</optgroup>
<optgroup id="warehouse" value="warehouse" label="warehouse">
<option value="1">kosz</option>
<option value="2">zaginione</option>
</optgroup>
</select>
</form>
<input type="text" name="copy" id="copy"></input>
以及在输入文本中添加文本的脚本:
function run() {
if(document.getElementById("user").label == 'user'){
document.getElementById("copy").value = "user";
} else if (document.getElementById("warehouse").label == 'warehouse') {
document.getElementById("copy").value = "warehouse";
}
}
当用户选择第一个选项optgroup
("用户"),然后在输入文本脚本中添加名称"用户"。当用户从第二个optgroup
中选择记录时,脚本将输入文本中的文本更改为"仓库"。但在我的脚本中,没有向输入文本添加任何内容。演示
演示
在jsfiddle中,您将函数放在onload函数中,因此它不被定义为外部范围。否则,您将获得两组的user
document.getElementById("user").label == 'user'
总是真的。所以它不会去其他块。你应该得到所选组的标签值并进行比较。
var lable=event.target.options[event.target.selectedIndex].parentNode.label // get lable value of clicked group
if(lable == 'user'){
document.getElementById("copy").value = "user";
} else if (lable == 'warehouse') {
document.getElementById("copy").value = "warehouse";
}
相关文章:
- JQuery:当其他输入字段的值发生更改时更改值
- 输入类型=文件验证停止其他输入类型验证
- 使用其他输入值自动填充输入
- 创建一个计算值数组,该数组绑定到AngularJS中的其他输入
- 更新其中一个字段时刷新其他输入字段.使用Angularjs(附Plunker)
- 根据选择选项启用/禁用其他输入
- 选择列表框以更改其他输入
- 根据其他输入设置最大值
- 如何从许多其他输入中查找触发键关闭事件的特定输入框
- 基于相同形式的其他输入填充标记输入
- j查询验证模糊文本区域与其他输入问题
- 未在选择标记下拉列表中选择以隐藏其他输入元素的嵌套控制器
- HTML,Javascript,PHP - 选择菜单+其他输入框
- 当焦点从其他输入丢失时,如何聚焦主输入
- 如果其他输入已填充,如何动态添加新输入 角度
- Rails 4 / jQuery:需要在表单输入中输入值以自动填充其他输入
- 自动建议输入,防止将文本复制到其他输入文本字段
- 如何将文件名设置为其他输入的输入值
- Javascript getElementById 默认值未显示在其他输入字段中
- 选择2 多个 阻止其他输入在输入时提交表单