如何在javascript中自动选择下拉列表中的项目

How to select an item in dropdownlist automatically in javascript

本文关键字:选择 下拉列表 项目 javascript      更新时间:2023-09-26

我有两个不同项目的下拉列表。如果我在dropdownlist1中选择了一个项目,那么这个被选中的项目应该被添加到dropdownlist2中,并且它应该被选中。使用下面的javascript代码,我可以在dropdownlist2中添加项目,但它没有被选中。请告诉我如何自动选择新添加的项目。

var domName = document.getElementById("dropdownlist1");
var domSelectedText = domName.options[domName.selectedIndex].text;
var domSelectedValue = domName.options[domName.selectedIndex].value;
var opt = document.createElement("option");
opt.text = domSelectedText;
opt.value = domSelectedValue;
document.getElementById("dropdownlist2").options.add(opt);

我想你只需要再多一行来标记新添加的项目为已选中。

opt.selected = true;

你可以把你的代码缩减到这样:

var domName = document.getElementById("dropdownlist1"),
selectedOption = domName.options[domName.selectedIndex].cloneNode(true);
document.getElementById("dropdownlist2").appendChild(selectedOption);

你让生活变得比它需要的更困难。考虑克隆节点,而不是复制它:

var domName = document.getElementById("dropdownlist1");
if (domName.selectedIndex >= 0) {
  var opt = domName.options[domName.selectedIndex].cloneNode(true);
  opt.selected = true;
  document.getElementById("dropdownlist2").appendChild(opt);
}

Try

var opt = new Option(domSelectedText, domSelectedValue)
Array.prototype.push.call(document.getElementById("dropdownlist2").options, opt)
var domName = document.getElementById("dropdownlist1");
var domSelectedText = domName.options[domName.selectedIndex].text;
var domSelectedValue = domName.options[domName.selectedIndex].value;
var sel2 = document.getElementById("dropdownlist2");
sel2.options[sel2.options.length]=new Option(domSelectedText,domSelectedValue)
sel2.selectedIndex = sel2.options.length-1;