2012-04-06 50 views
30

不知道這是否已被覆蓋到某處,但我找不到它在文檔中,並想知道是否有可能不包括與jQuery選擇插件的搜索輸入框(用於選擇輸入樣式)。具體而言,我想使用沒有它的標準選擇。 ( 'chzn搜索')。jQuery選擇插件沒有搜索字段

http://harvesthq.github.com/chosen/

+0

只是在黑暗中的一個鏡頭:你嘗試設置'數據過濾器= false'? – matsr 2012-04-06 19:35:04

+0

@matsr剛剛嘗試..不幸的是,沒有工作:\ – 2012-04-06 19:38:42

+0

好吧,然後我不知道。抱歉!祝你好運。 – matsr 2012-04-06 19:46:42

回答

11

嗯,我試圖與文檔以及與沒有運氣,所以最後固定到該

$隱藏();

我在通話後選擇了上述操作。 希望這有助於

+1

PS:這是一個快速修復 – Dhiraj 2012-04-06 20:05:48

+0

不錯。雖然可能不是最好的方法,但它起作用。不知道爲什麼我沒有想到這麼做。謝謝! :) – 2012-04-06 20:11:25

+4

你也可以在你的CSS中使用.chzn-search {display:none;}。然而在構造函數對象中使用disable_search:true是正確的方法。 – Roi 2013-06-05 23:00:08

43
$(".chzn-select").chosen({disable_search_threshold: 3}); 

如果選擇的元素的數量比disable_search_threshold(這裏是2以下)時,搜索框將不顯示。

+1

怎麼樣ajax選擇,我可以在這裏傳遞相同的參數? – 2012-05-24 15:32:42

5

我在我的樣式表中添加了一個類。

.chzn-select { display: none } 

另外,對於單獨的元素,我指定元素並追加_chzn來定位它。

#element_chzn .chzn-select { display: none; } 

需要注意的是:選擇將其轉換連字符在你的元素ID和班級爲下劃線,因此目標element-id你需要

#element_id_chzn .chzn-select { display: none; } 
+0

僅供參考:這樣做可以消除TAB進入選定下拉列表的能力。我最初試過這個,但是一旦我不能TAB進入它(嚴格的可訪問性指導原則),我必須使用'disable_search'選項。 – 2013-04-03 23:25:00

61

只是一個快速跟進:我注意到,在功能

AbstractChosen.prototype.set_default_values 

一個變量從

this.options.disable_search 

閱讀,您可以與

禁用搜索領域
jQuery('select').chosen({disable_search: true}); 

不使用固定數字thr eshold。

+3

這是正確的方法 – Capy 2012-11-10 18:50:06

+1

是的,這是正確的方法 – Brandon 2013-02-22 04:17:20

+2

如何才能瞭解這些關於屬性和屬性?沒有文檔AFAIK,只有github上的演示文稿太輕,並且不包含任何內容。 – Daniel 2013-04-11 09:17:48

2

使用此代碼來禁用它:

jQuery('select').chosen({disable_search: true}); 

,不要忘記隱藏它,否則它仍將致力於移動!

.chzn-search{display: none} 
0

僅爲選擇了對我的作品的最新版本:

$('ul.chosen-choices li.search-field').hide(); 
2

disable_search_threshold選項隱藏單一選擇下拉菜單中的搜索框。傳入的數字指定在顯示搜索框之前要允許的項目數。如果您不想使用搜索框,只需將它設置爲比它將包含的項目數量更大的數字即可。

$('#myDropDown').chosen({ disable_search_threshold: 10 }); 
0

我用jQuery('select')。選擇({disable_search:true});但是在chrome分析器中,search_field_scale方法無論如何都被調用並且吃掉了很多性能。

因此,我刪除方法和所有對他的調用,替換爲show_search_field_default上的this.search_field.css({'width':'100%'}),並用樣式:100% 替換style = 25px, this.search_field.css({'width':'23px'}); result_select,因爲「數據佔位符」

對我來說工作正常。

1

由於沒有任何的用於隱藏搜索場爲多個選擇所選擇的設置似乎運作,我竊取了線577到chosen.jquery.js:

<li class="search-field"><span class="placeholder">' + this.default_text + '</span></li> 

(跨度而不是輸入欄)。需要註釋掉這一行,

this.search_field[0].disabled = false; 

對我來說工作正常 - 即使它不是破解代碼的最佳實踐。

2
$('select').chosen({disable_search: true}); 
+2

嗨,歡迎來到堆棧溢出!這段代碼可能很好地解決了這個問題 - 但它總是被認爲是優秀的形式來解釋你給出的代碼。你應該知道 - 有很多新手來Stack Overflow,也可以通過Google搜索解決他們的問題,並且他們可以從你的專業知識中學到一兩件事......但只有在你解釋事情的時候。不要忘記,對你來說可能是非常明顯的,可能不是一個新手:) – 2014-07-15 23:13:49

3

較新版本的jquery選擇爲您提供了在下拉菜單中禁用搜索輸入的選項。

$(".chzn-select").chosen({ 
    disable_search: true 
}); 

舊版本不支持此選項。一些如何,如果你是不被允許使用較新的版本比你可以使用

$(".chzn-select").chosen({ 
    disable_search_threshold: 5 
}); 

它會隱藏搜索框,如果結果小於5,最好的性別類型下拉菜單來使用。還有另一種方法來解決這個問題,

$(".chzn-select").chosen(); 
$(".chzn-select").hide(); 

呼叫隱藏初始化後,不知道爲什麼這個技巧的作品,但它是做你想要的!

我建議您使用最新版本,以便您可以訪問最新的選項。

希望它適合你!

相關問題