2009-04-06 33 views
3

私はInternet Explorer(6,8)の問題を解決する最も簡単な解決方法を探しています。CSSまたはjQueryを使用してください。私は定義された幅を持つSELECT入力を持っています(なぜなら、レイアウト内にあるためです)。 Firefoxの& Safariの場合とは異なり、値の全長を表示するために自動的にサイズが変更されます。IE入力選択ボックス

これはよくある問題です。何か案は?

コード例:

<select id="Grouping_662066" class="productSelectInput" name="AddToCart_Grouping" onchange="DrawProduct(36331,662066,this.value,'',true);"> 
</select> 

私はクラスのproductSelectInput「CMSシステムを使用していますが、ウェブサイト全体でconsistandされるもののみ識別子です。 ID,およびonchangeのプロパティが変更されます。

答えて

4

Hereは、jQueryを使用した情報とソリューションです。

+0

解決策は間違っています。解決策*それ*にリンクするが、却下する方が良い:http://www.hedgerwow.com/360/dhtml/ui_select_with_fixed_width/ie-select-width-fix.js –

+0

解決策は素晴らしい。あなたが推奨している解決策は、この1周分以上の特典を持っていますか? – mattt

+0

ああ、すごくうれしいです。私はリンクの一番下にあるいくつかのコメントを参照していました。 IEのドキュメントは、選択ボックスの上または外にマウスを移動すると、そのフローから急激に取り出されます。おそらくあなたのページの選択ボックスの右には何もありません。 –

1

私はIEのために提案できる唯一のことは、フォントのサイズを減らす可能性があるということです。

私はそれ以外の方法があるとは確信していません。

0

私の言う限り、これはブラウザの問題(IE)です。

& nbspを含めることができます。オプションをラップするか、フォーカスとブラーのイベントでJavascriptを使って動的に選択範囲のサイズを変更します。 また、cssとjavascript( 'select'ではなく 'ul')でドロップダウンメニューを作成し、インターフェースを完全に制御できます。 (onBlur、javascriptは隠し入力に値を書き込む必要があります)。

0

ie8がpsuedo-class:focusをサポートしている場合は、選択がクリックされたときの幅を大きくすることができます。 ie6では動作しませんし、おそらくie7では動作しません。

1

onmousedown、onblur、onchange関数を使用して要素CSSを操作すると、通常のJavacsriptを使用できます。ここでは、ソリューションがjQueryでどのように見えるかを(同じ関数を使用して)示します。

var example = $('#some-id'); 

    $(example).mousedown(function() { 
      $(this).css('width','400px');        
    }); 
    $(example).blur(function({ 
      $(this).css('width','200px');        
    }); 
    $(example).change(function() { 
      $(this).css('width','200px');        
    }); 
関連する問題