2012-07-16 136 views
9

我使用jquery selectmenu插件。我已經初始化選擇與jquery ui selectmenu滾動條不工作

$('select').selectmenu({width:100, maxHeight:300, style: 'dropdown'}); 

我有很多選項,這導致出現默認瀏覽器滾動條,但我不能使用它。如果我點擊並嘗試拖動此欄,selectmenu關閉。我可以用鼠標滾輪滾動。在CSS和各種插件中可能會有一些衝突。但我不知道從哪裏開始尋找。

任何想法,什麼可能會導致此問題?

+0

你的選擇器應該是'$('選擇')' - 缺少引號 – nbrooks 2012-07-16 09:04:11

+1

它不是問題的原因,只是我的部分複製能力差:) – jyriand 2012-07-16 10:06:28

回答

1

這似乎是在js文件的這一部分的問題:

// document click closes menu 
$(document).bind("mousedown.selectmenu-" + this.ids[ 0 ], function(event) { 
    //check if open and if the clicket targes parent is the same 
    if (self.isOpen && !$(event.target).closest("#" + self.ids[ 1 ]).length) { 
     self.close(event); 
    } 
}); 

滾動條中同意,「如果」的條款,因此selectmenu的關閉狀態下...

您可以發表評論直到有人給出這個錯誤的解決方案之前,「if」條款中的行。這樣,selectmenu不會當你點擊了它關閉,但它會在您選擇任何選項

編輯關閉...:

好,它的工作現在。通過這一變化之前顯示的部分:

$(document).bind("mousedown.selectmenu-" + this.ids[ 0 ], function(event) { 
    //check if open and if the clicket targes parent is the same 
    if (self.isOpen && !$(event.target).closest("#" + self.ids[ 1 ]).length && !$(event.target).hasClass('ui-selectmenu-menu-dropdown')) { 
     self.close(event); 
    } 
}); 

這種方式,滾動欄是類「UI-selectmenu菜單,下拉」在div selectmenu的...頭部移動時不會被關閉滾動條。

+0

此文件不適用於我項目,但我仍然得到這個錯誤。如何解決這個問題。使用jquery.mobile-1.4.2.js,jquery 2.1.0 – 2018-03-06 08:31:37

12

您可以設置選擇菜單的內容在CSS中打開時的最大高度,然後在可以使用的項目列表中顯示滾動條。

ul.ui-menu { max-height: 420px !important; } 

您可能需要,如果你使用的是其他的jQuery UI部件,其中包括與分配類的UI菜單'一個<UL>元素在你的CSS來進一步限制這種風格的變化。

+0

我正在使用JQuery 1.11.3,這個解決方案已經爲我工作了!我也必須按照問題所述進行初始化:'$('select')。selectmenu({width:100,maxHeight:420,style:'dropdown'});' – 2015-08-23 08:59:28

0

如果您想通過ID爲每個項目設置最大高度。用途:

#select1-menu { max-height: 150px !important; } 
#select2-menu { max-height: 200px !important; } 

例如,您selectmenu的id是 '選擇' 使用:

#select-menu { max-height: 150px !important; } 
2

一個解決方案是例如賦予 「選擇數字」 的JQueryUI demo page的:

$('select').selectmenu().selectmenu("menuWidget").css("height","200px");