获取所选选项的Javascript在Webkit/FF中有效,但在IE中无效

获取所选选项的Javascript在Webkit/FF中有效,但在IE中无效,javascript,Javascript,我使用javascript从一个下拉列表中获取所选选项,然后将该信息放入另一个下拉列表中。该代码在Safari、Chrome和Firefox中运行良好,但在IE中失败。有人能帮我使代码跨浏览器兼容吗 function showTeams(weekNum) { var selectedItem = document.getElementById('pick'+weekNum); var a = document.getElementById('week'+weekNum).

我使用javascript从一个下拉列表中获取所选选项,然后将该信息放入另一个下拉列表中。该代码在Safari、Chrome和Firefox中运行良好,但在IE中失败。有人能帮我使代码跨浏览器兼容吗

    function showTeams(weekNum) {
    var selectedItem = document.getElementById('pick'+weekNum);
    var a = document.getElementById('week'+weekNum).selectedIndex;
    if (a != 0) {
        var str = document.getElementById('week'+weekNum).value;
        var away = str.match(/^(.*)(?= at)/);
        var home = str.match(/at(.*)/);
        selectedItem.options[0].text = away[0];
        selectedItem.options[0].value = away[0];
        selectedItem.options[1].text = home[1];
        selectedItem.options[1].value = home[1];

        document.getElementById('week'+weekNum).style.visibility = "none";
        selectedItem.style.visibility = "visible";
        selectedItem.selectedIndex = 0;
    }
}
它在IE中的
var str=document.getElementById('week'+weekNum).value失败
str
返回为空,这会破坏正则表达式及其下面的所有内容。如有任何见解和帮助,将不胜感激

编辑:添加相关的HTML

<form class="pick" name="picks" action="./resources/send_picks.php" method="post">
    <p>Week 1: <select class="week" name="week1" id="week1" onchange="javascript:showTeams('1');">
        <option></option>
        <option>Dallas Cowboys at N.Y. Giants</option>
        <option>Indianapolis Colts at Chicago Bears</option>
        <option>New England Patriots at Tennessee Titans</option>
        <option>Buffalo Bills at N.Y. Jets</option>
        <option>Washington Redskins at New Orleans Saints</option>
        <option>Jacksonville Jaguars at Minnesota Vikings</option>
        <option>Atlanta Falcons at Kansas City Chiefs</option>
        <option>Philadelphia Eagles at Cleveland Browns</option>
        <option>St. Louis Rams at Detroit Lions</option>
        <option>Miami Dolphins at Houston Texans</option>
        <option>San Francisco 49ers at Green Bay Packers</option>
        <option>Seattle Seahawks at Arizona Cardinals</option>
        <option>Carolina Panthers at Tampa Bay Buccaneers</option>
        <option>Pittsburgh Steelers at Denver Broncos</option>
        <option>Cincinnati Bengals at Baltimore Ravens</option>
        <option>San Diego Chargers at Oakland Raiders</option>
    </select>
    <select class="pick" name="pick1" id="pick1" style="visibility:hidden" onchange="javascript:cancel('1')">
        <option></option>
        <option></option>
        <option>Cancel</option>
    </select>

第1周:
纽约巨人队的达拉斯牛仔队
芝加哥熊队印第安纳波利斯小马队
田纳西泰坦队的新英格兰爱国者队
纽约喷气式飞机的水牛比尔
华盛顿红人队在新奥尔良圣徒队
明尼苏达维京人队的杰克逊维尔美洲虎队
堪萨斯城酋长队的亚特兰大猎鹰队
克利夫兰布朗球场的费城老鹰队
底特律狮子会圣路易斯公羊队
休斯顿德克萨斯州的迈阿密海豚队
格林湾包装公司旧金山49人队
西雅图海鹰队在亚利桑那红雀队
坦帕湾海盗队的卡罗莱纳黑豹队
丹佛野马队匹兹堡钢人队
巴尔的摩乌鸦的辛辛那提孟加拉
奥克兰袭击者队的圣地亚哥冲锋队
取消

目前正在IE8上进行测试。

基于其他问题与
.value
.checked
有关,最好使用jQuery

var str = $('#week'+weekNum).val();

如果切换到jQuery,将节省大量时间。不要再担心IE的怪癖了(或者不再那么担心了)。

首先,要在IE中获得.value,您需要将其实际放入html中:

<option value="Dallas Cowboys at N.Y. Giants">Dallas Cowboys at N.Y. Giants</option>

你也有名字属性吗?这有时会在IE中中断。另请参见:和:我不想去jquery,但这似乎是让它全面工作的唯一/最佳选择。把它放进去,效果很好。谢谢。我一直在反复尝试决定哪种方式最适合展示/隐藏。有一些不匹配的代码。谢谢你指出这一点。
document.getElementById('week'+weekNum).style.visibility = "hidden"