-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>

次に11div

    <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 に答える