Применение плагина rateit jquery к окну выбора

#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 звезд без кнопки сброса / удаления. Скрипт обновляется, если вам захочется взглянуть на него. Большое спасибо за помощь на данный момент!