2012-04-06 2 views
30

Не уверен, что это было где-то покрыто, но я не смог найти его в документации и задавался вопросом, можно ли включить поле ввода поиска с выбранным плагином jQuery (используется для входов выбора стиля). В частности, я бы хотел использовать стандартный выбор без него. ('ЧЦЗ-поиска').jQuery Выбранный плагин без поля поиска

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

+0

Просто выстрел в темноте: вы пытались установить 'data-filter = false'? – matsr

+0

@matsr просто попробовал .. к сожалению, это не сработало: \ –

+0

Хорошо, тогда я не знаю. Сожалею! Удачи. – matsr

ответ

11

Ну я попытался с документацией, а также и не повезло, так что я, наконец, фиксируется на этой

$ шкурку();

Я делаю вышеуказанное после того, как я позвонил. Надеюсь, что это помогает

+1

PS: Это быстрое исправление – Dhiraj

+0

Неплохо. Хотя, возможно, это не самый лучший метод, который работает. Не уверен, почему я не думал об этом раньше. Благодаря! :) –

+4

вы также можете просто использовать .chzn-search {display: none;} в своем css. однако использование disable_search: true в вашем объекте-конструкторе является правильным способом. – Roi

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

Если число элементов избранных меньше disable_search_threshold (здесь 2 и менее), окно поиска не будет отображаться.

+1

Как насчет выбранного ajax, могу ли я передать тот же параметр здесь? –

5

Я добавляю класс в свою таблицу стилей.

.chzn-select { display: none } 

В качестве альтернативы, для отдельных элементов, я указать элемент и добавить _chzn целевой его.

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

Обратите внимание, что: выбранных преобразуют переносы в ваших идентификаторах элементов и классах с подчеркиванием, поэтому целевой element-id вам нужно.

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

Just FYI: это устраняет возможность TAB в раскрывающемся списке «Выбранные». Я изначально пробовал это, но как только я не смог войти в него (строгие правила доступности), мне пришлось пойти с опцией 'disable_search'. –

61

Только быстрое наблюдение: я заметил, что в функции

AbstractChosen.prototype.set_default_values 

переменная считывается из

this.options.disable_search 

Таким образом, вы можете отключить поиск-поле с

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

без использования фиксированного номера thr eshold.

+3

Это правильный путь – Capy

+1

Да, это правильный метод – Brandon

+2

Как узнать об атрибутах и ​​свойствах? Нет документации AFAIK, только презентация на github, которая слишком легка и не покрывает ничего. – Daniel

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').selected ({disable_search: true}); но на хром-профилировщике метод search_field_scale был вызван в любом случае и съел много производительности.

Поэтому я удаляю метод и все его вызовы и заменяю на this.search_field.css ({'width': '100%'}) на show_search_field_default и заменяет стиль = 25px стилем: 100% и чем this.search_field.css ({'width': '23px'}); result_select из-за «data-placeholder»

работает отлично для меня.

1

Поскольку ни один из выбранных-настроек для скрытия поиска поля для нескольких выбирает казалось, не будет работать, я взломал chosen.jquery.js в строке 577 в:

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

(Span вместо поля ввода). Необходимо, чтобы закомментировать эту строку тоже

this.search_field[0].disabled = false; 

работает нормально для меня - даже если его не лучшая практика, чтобы взломать код.

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

Привет, и добро пожаловать в переполнение стека! Этот код может решить проблему, но всегда считается хорошей формой, чтобы дать некоторое объяснение кода, который вы дали. Вы должны знать, что есть много новичков, которые приходят в Stack Overflow, googling для решения их проблем тоже, и они могут узнать кое-что из вашего опыта ... но только если вы объясните вещи. Не забывайте, что то, что может быть действительно очевидно для вас, может быть не для новичков :) –

3

Новые версии jquery selected позволяют вам отключить поиск в раскрывающемся меню.

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

Старые версии не поддерживают эту опцию. Некоторые, как, если вы строго не разрешается использовать более новую версию, чем вы можете использовать

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

скроет окно поиска, если результаты менее чем 5, лучше использовать с выпадающие пол типа. Есть еще один способ исправить это, и это так;

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

Call hide сразу после инициализации, не знаю, почему эти трюки работают, но он делает то, что вы хотите!

Предлагаю вам использовать последнюю версию, чтобы у вас был доступ к последним вариантам.

Надеюсь, это сработает для вас!

Смежные вопросы