-1

这在除 IE 之外的所有其他浏览器中都可以正常工作。即使在 IE10 中它也不想合作。任何帮助,将不胜感激。我有一个带有下拉菜单的表单,当不同的用户进行选择时,它会显示一个具有不同表单的 div,我们有 10 个表单可供他们选择。现在它在 IE 中什么都不做,没有控制台错误或任何东西。

脚本

var sections = {
    'second': 'section2',
    'third': 'section3',
    'forth': 'section4',
    'fifth': 'section5',
    'sixth': 'section6',
    'seventh': 'section7',
    'eigth': 'section8',
    'ninth': 'section9',
    'tenth': 'section10',
    'eleventh': 'section11'
};

var selection = function (select)
{
    for (i in sections)
    document.getElementById(sections[i]).style.display = "none";
    document.getElementById(sections[select.value]).style.display = "block";
}
$("#target option")
    .removeAttr('selected')
    .find(':first')
    .attr('selected', 'selected');

的HTML

    <select id="forms" onchange="selection(this);">
    <option >Select an option</option>
     <option value="tenth">General Inquiry</option>
        <option value="second">Account Inquiry</option>
        <option value="third">ARC Request</option>
        <option value="forth">Contact Information Update</option>
        <option value="fifth">Contact your Board</option>
        <option value="sixth">Document Request</option>
        <option value="seventh">Maintenance Issue Reporting</option>
          <option value="eigth">Violations Reporting</option>
           <option value="ninth">Closing Statement</option>
            <option value="eleventh">Request for Proposal</option>


    </select>

然后 11 个 div

    <div id="section10" style="display:none;">
 <h2>General Inquiry</h2>

</div>
4

1 回答 1

1

你的问题原来selection是在 IE 中具有特殊含义

对于您的代码,IE 会产生以下错误

SCRIPT5002: Function expected 

这说明了这个问题。

防止此问题的解决方法是更改​​您的函数名称,例如

var selectionFunc = function (select){...}

在你的标记中,

<select id="forms" onchange="selectionFunc(this);">
....
</select>

我希望它有帮助

于 2013-04-25T14:34:36.773 回答