Javascript IE6&;IE7如何从选择框中获取所选选项对象
我有这样一个代码:Javascript IE6&;IE7如何从选择框中获取所选选项对象,javascript,internet-explorer,option,Javascript,Internet Explorer,Option,我有这样一个代码: var a = selectBox.options[selectBox.selectedIndex]; 如果我执行: alert(a); 使用FF、Chrome、Opera等。。。我得到: [对象HTMLOptionElement] 这正是我想要的。 如果我使用IE6或IE7,我会得到: [对象] 完全没有预期的选项属性。 这意味着没有TextNode作为childNode,也没有value属性。我怎样才能解决这个问题? 此外,如果我尝试使用该节点添加到另一个选择框,IE
var a = selectBox.options[selectBox.selectedIndex];
如果我执行:
alert(a);
使用FF、Chrome、Opera等。。。我得到:
[对象HTMLOptionElement]
这正是我想要的。
如果我使用IE6或IE7,我会得到:
[对象]
完全没有预期的选项属性。这意味着没有TextNode作为childNode,也没有value属性。我怎样才能解决这个问题? 此外,如果我尝试使用该节点添加到另一个选择框,IE会引发异常:
SCRIPT87: Invalid argument.
我被要求制作一个与IE6兼容的程序,但我找不到让它工作的方法。我需要移动选项对象,IE7不允许我移动。
按请求编辑:
上下文HTML
<select id="identification">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select id="toBeFilled" multiple>
</select>
1.
2.
3.
重要提示:我正在制作的从不知道文档的名称和ID列表。它只知道将用于在文档中工作的节点。
例如,当我声明Node时,我指的是.getElementById()返回的文档。
var a=selectBox.options[selectBox.selectedIndex].value代码>将帮助您
(警报只能打印字符串和数字,但不能打印对象。您可以使用Firebug和IE8+中的“console.log(a)”和开发者工具栏var a=selectBox.options[selectBox.selectedIndex];
肯定会给您一个选项
对象(或HTMLOptionElement
)在所有浏览器中,都包括IE 7、6、5、4和可能的3(尽管正如您所观察到的,当您调用toString()
时,IE可能不会给您提供特别有用的值)。这将具有反映选项的文本和值的文本
和值
属性。如果这对您不起作用,则代码中的其他部分存在问题
至于在选择框之间传输选项,我对此不太确定,但如果有疑问,您可以创建一个新的选项
,并将其添加到新的选择框中:
var newOption = new Option(a.text, a.value);
你不能使用jQuery?$('select')。find('option:selected')……完成了。@Alistair Laing“完成了工作”,没有工作。没有。我得到了空字符串。我需要的是值而不是空字符串。你能在JS上发布HTML吗?警报会打印toString()在这种情况下,IE6和IE7显示空字符串。同时,这些选项没有value属性,这一个有。我将尝试这样做。似乎是IE6/IE7理解的唯一方法。