2012-05-10 4 views
1

ドロップダウンリストに10個のアイテムがあり、ドロップダウンリストを開いたときに最初の5個だけを表示したい場合は残りのアイテムをスクロールに残す必要があります。開いているときにHTMLドロップダウンリストに表示するアイテムを制限する

私はJSでサイズを制御する次のコードを持っています。

HTMLに次のように設定
$(function(){ 
    $("#myList").click(function(){ 
    $(this).attr('size', '5'); 
    }); 
}); 

...

<select size="5"> 
    <option value=""></option> 
    ... 
</select> 

は常にドロップダウンが5つのデフォルトとしてアイテムやブラウザで表示されるようになります。この独自の方法を処理することができるので、私は経由でそれをやって考えますJS

問題これは5個のアイテムで開かれていますが、通常のドロップダウンと同じように自動的に閉じず、ページが更新されるまで(明らかに)更新されます。お知らせ下さい。

答えて

3

あなたはそれが複数の項目が表示されるようにリストを変更することができ、かつホバーが削除されたときにのみ選択を示しています。

$(document).ready(function(){ 

$("#mylist").hover(function(){ 

$(this).attr('size', '5'); 
},function(){ 
$(this).removeAttr("size"); 
}); 

});​ 

-- SEE DEMO --

0

受け入れソリューションだけで罰金だけjQueryのために働いていたが1.9より前のバージョンはhover has been deprecated以降です。

ただし、新しいバージョンに切り替えたくない場合は、hover()と他の非推奨機能は、jQuery migrate pluginを使用して動作させることができます。

jQueryすなわちV1.9ここ+

$(function(){ 
    $("#myList").on({ 
    mousedown: function(){ 
     $(this).attr('size', '5'); 
    }, 

    mouseleave: function(){ 
     $(this).removeAttr('size'); 
    } 
    }); 
}); 

のより高いバージョンの別の解決策はworking DEMOあります。

関連する問題