InnerHTML不能与<select>和IE一起工作......在Firefox中很好。想法?</选择>

时间:2012-05-07 17:05:13

标签: javascript html internet-explorer

所以,我希望创建一个复选框,在单击时会调用一个函数来将一个表单的一部分的值填充到另一个表单中。这在为帐单或送货地址创建“使用我的主要地址”按钮时非常有用。 Javascript智慧,我创造了这个:

function fillBilling() {
    if (document.getElementById('useMain').checked) {
        document.getElementById('ccFName').value = document.getElementById('firstName').value;  
        document.getElementById('ccLName').value = document.getElementById('lastName').value;  
        document.getElementById('ccAddr1').value = document.getElementById('address1').value;  
        document.getElementById('ccAddr2').value = document.getElementById('address2').value;
        document.getElementById('ccCity').value = document.getElementById('city').value;
        document.getElementById('ccZip').value = document.getElementById('zip').value;
        document.getElementById('ccState').innerHTML = document.getElementById('state').innerHTML;
    }
}

而且你知道......它在Firefox中完美运行。我在状态代码的情况下使用了“innerHTML”,因为状态代码是通过下拉列表选择的,而不是文本输入。

我已经看过innerHTML与表有关的问题,但是......这不是一个表。这是一个SELECT标签。有解决方法吗?我不打算在select语句中添加选项,但在完美的世界中,我会从“state”到“ccState”值进行相同的选择。它们都是从同一个表中填充的,因此可能值的列表是相同的。建议?

2 个答案:

答案 0 :(得分:1)

如果它们相同,请尝试仅更新selectedIndex

document.getElementById('ccState').selectedIndex =
    document.getElementById('state').selectedIndex;

答案 1 :(得分:0)

您可以在IE或任何其他浏览器中使用选项的.text属性更改选项的文本。