Как по-разному назвать каждый скрытый элемент ввода jQuery Raty?
Я использую плагин jQuery Raty, чтобы включить систему рейтинга на моем сайте.
У меня есть набор из 4 оценочных вопросов (может быть и 5), которые я отображаю динамически с помощью цикла. Поэтому для отображения звезд я использую div id следующим образом:
<c:forEach items="${myQuestionList}" var="singleQuestion" varStatus="status">
<p>${singleQuestion.text}</p>
<div id="star${status.index+1}"></div>
</c:forEach>
И код инициализации Raty выглядит следующим образом:
$("div[id^=star]").raty({
width: 300
});
Это прекрасно работает. Отображаются все мои 4 (или 5) вопроса и отображаются звездочки Рати.
Теперь проблема в том, что этот рейтинг находится внутри формы и должен быть представлен. Но проблема в том, что Рати добавляет <input type="hidden" name="score">
каждому Raty и, следовательно, когда форма отправлена, невозможно сказать, какой рейтинг для какого вопроса.
Есть ли способ, которым я могу назначить каждому скрытому элементу ввода Raty свое имя, которое поможет мне связать его с заданным вопросом.
Raty документация говорит, что я могу изменить имя счета на что угодно:
$('#star').raty({ scoreName: 'myscore' });
Но это не поможет мне, потому что я инициализирую плагин raty один раз для всех элементов.
Как я могу решить эту проблему? Пожалуйста, руководство. Я застрял.:(
1 ответ
ОК, я решил это сам.
Вот решение для тех, кто застрял в одной точке:
scoreName: function(){
return $(this).attr('id');
}
Это установит имя партитуры на имя идентификатора. Вы можете установить его на что-нибудь еще тоже.