2

IE9の単純なドロップダウンボックスで、ユーザーが選択を変更してから印刷しようとすると、元のオプションがレンダリングされます。このドロップダウンボックスに表示されます。IE9は変更されたオプションをドロップダウンリストに印刷しません。

言って、私は「いずれかを選択」は、ページがロードされるデフォルトでは、

<option value="">Select one: </option> 
<option value="1">Record 1</option> 
<option value="2">Record 2</option> 
<option value="3">Record 3</option> 

を持っています。 「レコード2」を選択し、そのページを印刷すると、選択した「レコード2」の代わりに、「1つを選択:」がボックスの内側に印刷されます。

Firefoxが正しく印刷されます。 IEの他のバージョンもその仕事をすることができます。選択した値が正しくドロップダウンボックス内に表示されるが、この場合には、当社のCSSスタイルの多くが失われているので

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

:しかし、私たちはむしろ、互換性ビューを使用することはありません。 (ボーダー半径など)

誰にでも良い解決策がありますか?ありがとう。

+0

私はこのバグによって絶対に困惑しています。 「互換性」モードでページを実行すると、問題が解決されます(CSS8などのIE8設定に戻ります)。 – Graham

答えて

1

ここでトリックを行うようだラフ機能だ、それはあなたの環境で徹底的にテストする必要がありますが、現時点ではOKのようだ:

if ($.browser.msie && parseInt($.browser.version, 10) === 9) { 
       $("select").change(function() { 
        var selectedOpt = $(this).find("option:selected"); 
        var originalDefaultOption = $(this).find("option[selected]"); 
        var text = originalDefaultOption.html(); 
        var val = originalDefaultOption.val(); 

        originalDefaultOption.after("<option value='" + val + "'>" + text + "</option>"); 
        originalDefaultOption.remove(); 
        selectedOpt.attr("selected", true); 
       }); 
      } 

基本的には、IEを削除させません'selected = selected'属性をJavaScriptの場合でもオプションから選択します。だから、私は 'selected'属性をコピーせずに、元のデフォルトオプションを新しいオプションタグにコピーしています。私は、新しくクリックされたオプションに 'selected'属性を置きます。 FFとIE9で動作します& 8.

+0

ありがとうございます。私は本当にそれを感謝します。 – Blaise

+0

問題ありません。そのばかげたバグ、本物のヘッドデスクバンガー。 – Graham

関連する問題