2011-08-24 18 views
5

動作していない選択タグに水平スクロールバーを設定しようとしています。この中選択タグで水平スクロールバーが機能しない

<select style="height: 250px; width: 300px; overflow: auto;" 
    id="dnn_ctr459_ManageRelatedProducts_lstFrom" multiple="multiple" 
    name="dnn$ctr459$ManageRelatedProducts$lstFrom" class="selectList" size="4"> 
    <option value="9">33 Uithoeke</option> 
    <option value="10">Aantekeninge by Koos Prinsloo</option> 
    <option value="11">Aantekeninge by Koos Prinsloo (enhanced e-book)</option> 
    <option value="12">Access to Social Security</option> 
    <option value="13">Angling for Interpretation</option> 
    </select> 

.selectList 
{ 
    height: 250px; 
    overflow: auto; 
    width: 300px; 
} 

enter image description here

マットのソリューション結果:FF enter image description here

IEで

最終結果で enter image description here

最終結果、マットのおかげ

は、ここでは、コードです! enter image description here

+0

overflow-x:scroll;ちょうどオーバーフローの代わりに:scroll; overflow-y:hiddenでも可能です。 –

+2

最終結果のHTMLコードを表示できますか? ta – Rippo

答えて

3

あなたがそうすることができるかどうかはわかりませんが、選択肢の周りにdivを配置し、その上に幅と横スクロールを設定することで、常にそのように見せかけることができます。 Taken from here

+0

これはMattさんに感謝しましたが、IE7ではダブルスクロールバーを強制します。 Scroll-xとscroll-yはIEでは動作しないと思いますか? – SixfootJames

+0

はうまくいくはずです、正しく実装していますか? [このCSSのオーバーフローテストページを見てください](http://www.brunildo.org/test/Overflowxy2.html)。 –

+0

クール、ありがとうございました。それはIEであなたが手動で働いていた垂直スクロールバーをオフにする必要があります! – SixfootJames

0

選択要素でスクロールバーを強制的に押すことはできません。

+0

Chrisに感謝します。私が抱えている問題は、私たちが使用しているショッピングカートは、この中に非常に長い商品名のselect要素を使用していて、何とかこの選択要素をスクロールする必要があるということです。下のMatt Kの提案はうまくいくが、それは2つのスクロールバー(垂直)があり、ナビゲーションに非常に厄介なものになることを意味する。 選択要素でワードラップを変更する方法はありますか? – SixfootJames

+0

overflow-x属性を使用する場合は、スクロールバーが2つ必要はありません。 –

+0

ありがとうございました。私は今IE 7でこれをテストし、これもうまくいきたいと考えています。 – SixfootJames

-1

はい、できます。 JQueryで試してみてください:

<div id='test' style="overflow-x:scroll; width:120px; overflow: -moz-scrollbars-horizontal;"> 
<select id='mySelect' name="mySelect" size="5"> 
    <option value="1">one two three four five six</option> 
    <option value="2">seven eight</option> 
    <option value="3">nine ten</option> 
    <option value="1">one two three four five six</option> 
    <option value="2">seven eight</option> 
    <option value="3">nine ten</option> 
    <option value="1">one two three four five six</option> 
    <option value="2">seven eight</option> 
    <option value="3">nine ten</option> 
    <option value="1">one two three four five six</option> 
    <option value="2">seven eight</option> 
    <option value="3">nine ten</option> 
</select> 
<div id="divv" style='font-size: 1px'>&nbsp</div> 
</div> 

<script> 
    $('#divv').css('width', $('#mySelect').outerWidth()); 
    $('#mySelect').css('width', $('#test').outerWidth()); 
    $("#test").scroll(function() { 
     $('#mySelect').css('width', $(this).outerWidth() + $(this).scrollLeft()); 
    }); 
</script> 
関連する問題