#javascript #jquery #html #select
#javascript #jquery #HTML #выберите
Вопрос:
У меня есть следующий элемент формы выбора, и я хочу применить к нему плагин rateit jquery.
<select class="test" id="Rating" name="Rating">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
и я пытаюсь применить плагин с помощью $("select.test").rateit();
, но, несмотря на то, что FireQuery показывает данные, прикрепленные к элементу выбора, который, никакого эффекта не производится, и я все еще остаюсь с окном выбора, а не линией звездочек.
Редактировать
Файл CSS включен
Комментарии:
1. Вам необходимо включить файл css. Все еще не работает? Нужно посмотреть вашу демо-версию, без нее это только предположение.
2. Отредактированный ответ, отражающий текущую ситуацию
Ответ №1:
Вы неправильно используете плагин. Смотрите очень простой пример:http://jsfiddle.net/rudiedirkx/ZuJ2k
select
Должен быть там, но вам все равно придется ссылаться на div
при вызове плагина: $('div#rating2').rateit();
Затем div содержит ссылку на select
с атрибутом data: data-rateit-backingfld="select#Rating"
Редактировать
На самом деле похоже, что вы вообще не используете плагин? Где вы вызываете плагин?
Редактировать
Это ваш код:
rateItDiv = $('<div class="rateit" data-rateit-backingfld="#Rating"></div>');
$("div#ReviewInputZone select.test").after(rateItDiv);
$('div#rateit').rateit();
В последней строке вы ссылаетесь на div#rateit
, но этого div
не существует. Вы только что создали div.rateit
, а не div#rateit
. Измените один из них на другой, и он должен работать. Я бы оставил #
, потому что это немного быстрее (но вы должны быть уверены, что на странице есть только один из этих выпадающих списков rateit).
Итак, новая первая строка:
rateItDiv = $('<div id="rateit" class="rateit" data-rateit-backingfld="#Rating"></div>');
Редактировать
Кроме того, вы можете протестировать его, прежде чем изменять какой-либо код. Просто откройте консоль Javascript (Firebug в FF или Developer tools в Chrome) и введите: jQuery('div.rateit').rateit();
Комментарии:
1. пытались внести эти изменения, все еще не получается!!
2. Потрясающе, это сработало. Но сейчас я борюсь с реализацией 5 звезд без кнопки сброса / удаления. Скрипт обновляется, если вам захочется взглянуть на него. Большое спасибо за помощь на данный момент!