1

私のページは、2つのドロップダウンを含むテーブルで構成されています。最初のドロップダウン(グループ)が変更されると、最初の選択に応じて、2番目のドロップダウンが新しいコンテンツ(JavaScript)を取得します。

プロセスモニター

ただし、互換表示のIE7およびIE8では、2番目のドロップダウンはテーブルのサイズを変更しません。

ここに画像の説明を入力してください

これは私が期待することであり、他のブラウザではどのように見えるかです(ドロップダウンは最大値のサイズまで拡張されます):

ここに画像の説明を入力してください

IE7で同じ動作をどのように取得できるか考えてみてください。

これはコードです:

<table border="1" style="background-color: silver; margin: 0; padding: 0">
<tr>
    <td style="background-color: #336; color: white; font-weight: bold">Process Monitor  </td>
</tr>
<tr><td>
    <table style="border: 0; margin: 0; padding: 0">
    <tr>
        <td width="10px">&nbsp;</td>
        <td><form name="rid_select" "action="?" method="GET">
            <select id="pvar_pri" name="pvar_pri" onChange="setOptions(this.options[this.selectedIndex].value)">
                <option value="0">Select group</option>
                <option value="5">Item 1</option>
                <option value="10">Item 2</option>
            </select>
            <select id="pvar_sec" name="pvar_sec" onChange="this.form.submit()">
                <option value="">Select variable</option>
            </select>
            <input type="submit" value="Select">
        </form></td>
        <td width="10px">&nbsp;</td>
    </tr>
    </table>
</td>
</tr></table>
4

1 に答える 1

1

私は実際にCSSのみを使用してこの問題を解決しようとしましたが、それでも結果は得られていません。

テーブルが小さく、再描画に多くの時間とリソースがかからないため、別のソリューションを提供できます。

  1. フォームを保持するテーブルのIDを追加します

    <table id="FormCointaner">
    
  2. 変更された値ごとにテーブルを再描画する最初の選択ボックスのonchange関数を設定します

    $(document).on('change','#pvar_pri',function(){
        $('#FormCointaner').html($('#FormCointaner').html());
    });
    

私によると、何らかの理由で、新しい要素が追加されたときにIEがテーブルを再描画していません。

ここで私の考えを確認できます:

http://jsfiddle.net/jnKnx/

于 2012-09-06T08:34:39.190 に答える