如何在javascript中自动选择dropdownlist中的项目

如何在javascript中自动选择dropdownlist中的项目,javascript,Javascript,我有两个不同项目的下拉列表。如果我在dropdownlist1中选择了一个项目,那么所选项目应该添加到dropdownlist2中,并且应该被选中。 使用下面的javascript代码,我可以在DropDownList 2中添加该项,但它没有被选中。请让我知道如何自动选择新添加的项目 var domName = document.getElementById("dropdownlist1"); var domSelectedText = domName.options[domName.selec

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

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;

我想您只需要再多加一行就可以将新添加的项目标记为选中

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"),
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);
}

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

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);
}

您可以将.selectedIndex设置为新选项的索引,即options.length-1
opt.selected=true
opt.selected=true。谢谢你斜视。感谢您的回复。您可以将.selectedIndex设置为新选项的索引,即options.length-1
opt.selected=true
opt.selected=true,为我提供了解决方案。谢谢你斜视。感谢您的回复。请注意IE中的失败。不要像对待本机对象那样对待主机对象,它们不需要按照ECMA-262进行操作。使用DOM方法附加新选项更高效、更健壮(而且类型更少)。并且在IE中观察它的失败。不要像对待本机对象那样对待主机对象,它们不需要按照ECMA-262的要求进行操作。使用DOM方法附加新选项更高效、更健壮(而且输入更少)。哇,我们得出了几乎相同的结论:)哇,我们得出了几乎相同的结论:)