2012-05-10 25 views
1

我有10個項目在下拉菜單中,當我打開下拉列表並且剩餘項目應該保持滾動時,只顯示前5個項目。當它打開時限制項目顯示在HTML下拉列表中

我有以下代碼來控制JS中的大小。

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

設置在HTML以下...

<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

相關問題