Добавление выбранного в приложение Rails

Я искал вокруг и не могу найти хороший пример реализации Chosen, http://harvesthq.github.com/chosen/ в приложение Rails. Я пытаюсь преобразовать свой существующий множественный выбор в выбранный стилизованный блок множественного выбора.

Я попытался вставить файлы вручную, скопировав selected.jquery.js в свою папку assets / javascripts вместе с добавлением selected.css. Также добавлен // = require selected-jquery в application.js вместе со следующим кодом

jQuery(function($){
$('.chzn-select').chosen();
})

Также в application.css.scss выбрано * = require.

Я добавил: class => «chzn-select» в collection_select в form_tag.

Также пробовал использовать драгоценный камень selected-rails (вот пример http://choppingbloc.tumblr.com/post/24894460392/multiple-select-boxes-with-chosen-jquery), но не повезло.

Что-нибудь, что я могу пропустить? Collection_select работает, но его стиль отличается от Chosen. Я новичок, поэтому, если есть что-то очевидное, что я мог упустить из виду, скажите, пожалуйста, все вышеперечисленное - это то, что я сделал.


person pvskisteak5    schedule 26.11.2012    source источник
comment
При диагностике этих проблем может быть полезно включить любой вывод, который выдает консоль Javascript вашего браузера. Поп, которые открываются после загрузки страницы, и посмотрите, появятся ли какие-либо ошибки Javascript.   -  person Veraticus    schedule 26.11.2012
comment
Спасибо - моя консоль сообщает Uncaught ReferenceError: Prototype is not defined и указывает мне на application.js: 4279, который содержит (AbstractChosen), n.Chosen = e, Prototype.Browser.IE && /MSIE (\d+\.\d+);/.test(navigator.userAgent) && (Prototype.BrowserFeatures.Version = new Number(RegExp.$1)), t = function(e) {   -  person pvskisteak5    schedule 26.11.2012
comment
Я последовал совету @Andreas Lyngstad, и это сработало   -  person pvskisteak5    schedule 26.11.2012


Ответы (1)


Настройте это так

Вы должны включить как файл css, так и файл js

в вашем application.css.scss (поскольку это sass, не используйте / * require)

@import "chosen";

в вашем application.js

//= require chosen.jquery

Вы должны указать своим выборкам другой класс или идентификатор, чем

$('.chzn-select').chosen();

потому что это может запутать вас при отладке html. Chosen дает классы с этим префиксом, например .chzn-done, .chzn-single, chzn-drop, chzn-search.

Если у вас есть аккаунт на railscasts pro.

посмотри на это

измененные поля маркера

Вам действительно следует отказаться от выбранного подключаемого модуля и перейти к подключаемому модулю select2. Он основан на выбранном плагине, но намного лучше.

person Andreas Lyngstad    schedule 26.11.2012