Как по-разному назвать каждый скрытый элемент ввода 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');
                }

Это установит имя партитуры на имя идентификатора. Вы можете установить его на что-нибудь еще тоже.

Другие вопросы по тегам