Нужна помощь плагина jquery star rating - PullRequest
0 голосов
/ 17 июня 2009

Я добавляю плагин звездной оценки от www.fyneworks.com/jquery/star-rating/ и нахожу документацию довольно неясной. Может быть, я просто смотрю в неправильных местах, что не было бы для меня чем-то необычным.

Мы находимся в приложении asp.net MVC, и я хотел бы добавить объект звездного рейтинга на 3 разных страницах. На странице «создать рейтинг» я хотел бы добавить 5-звездочный рейтинг, но я хотел бы скрыть или удалить значок «удалить». Другими словами, когда я даю пользователю возможность оценить что-то, я хотел бы установить по умолчанию это 3-звездочное значение и позволить им голосовать только 1 - 5. Я не хочу, чтобы они могли представлять рейтинг с нуля. , Концепция радиопереключателей будет справляться с этим, за исключением того, что выбор «удалить» переопределяет это.
Вот код, который у меня сейчас есть.

        <td>
            <strong>
                <label for="Rating">
                    Rating:</label></strong>
        </td>
        <td valign="top" width="180">
            <input name="rating" type="radio" class="star" value="1" />
            <input name="rating" type="radio" class="star" value="2" />
            <input name="rating" type="radio" class="star" value="3" checked="checked" />
            <input name="rating" type="radio" class="star" value="4" />
            <input name="rating" type="radio" class="star" value="5" />
        </td>

Это мой первый пост, поэтому я надеюсь, что это в протоколе, у меня также есть еще один вопрос об этом же jquery, и я не знаю, должен ли я создать отдельный вопрос или добавить его здесь. Пока я добавлю это здесь, и если это не так, дайте мне знать, и я создам это как отдельный вопрос.

На другой странице приложения я хочу отобразить несколько обзоров для каждого объекта вместе с рейтингом. Я не вижу, как это должно быть сделано. У меня есть цикл foreach, который отображает каждый отзыв со звездным рейтингом, но мой цикл помещает все звезды для всех рейтингов в верхнюю часть списка отзывов. Другими словами, если для определенной сущности существует 6 оценок, отображаются 30 звездочек (6 x 5), за которыми следуют 6 итоговых строк. Я предполагаю, что мне нужно каким-то образом динамически изменить имя входного имени в моем цикле, чтобы получить различные объекты, связанные с их итоговыми строками. Вот код для этого:

<table>
<% foreach (var review in Model.Reviews)
   { %>
       <tr>
        <% if (!Model.IsSingleBusiness)
           { %>
               <td> 
                   <%= Html.ActionLink(Html.Encode(review.Title), "Details", new { id = review.ReviewId, eId = Model.Entity.EntityId })%>   
               </td>
         <% } %>
           <td valign="top">
               <%= Html.ActionLink("Details", "Details", new { id = review.ReviewId, eId = Model.Entity.EntityId })%>
               <br />Rating: <%= Html.Encode(review.Rating)%>
                    <input name="rating" type="radio" class="star" disabled="disabled" />
                    <input name="rating" type="radio" class="star" disabled="disabled" />
                    <input name="rating" type="radio" class="star" disabled="disabled" />
                    <input name="rating" type="radio" class="star" disabled="disabled" />
                    <input name="rating" type="radio" class="star" disabled="disabled" />
               <br />By: <%= Html.Encode(review.Reviewer.FullName)%>
           </td>
           <td valign="top">
               <%= Html.ActionLink(Html.Encode(review.Title), "Details", new { id = review.ReviewId, eId = Model.Entity.EntityId })%>
           </td>
       </tr>
<% } %>

</table>

Заранее спасибо за помощь.

Bob

Ответы [ 3 ]

2 голосов
/ 17 сентября 2009

Вы можете использовать параметр настроек плагина для отключения кнопки отмены:

$.fn.rating.options = { required: true };

Чтобы включить плагин на всех ваших радиокнопках с классом «звезда» на вашей странице, но без кнопка отмены:

$(function(){
    $.fn.rating.options = { required: true };
    $('.star').rating({
        callback: function(value, link) {
            // To submit the form automatically:
            // this.form.submit();
            // To submit the form via ajax:
            $(this.form).ajaxSubmit();
        }
    });
});
1 голос
/ 24 августа 2010

Также это:

$(function(){
$('.star').rating({
    required: true,
    callback: function(value, link) {
        // To submit the form automatically:
        // this.form.submit();
        // To submit the form via ajax:
        $(this.form).ajaxSubmit();
    }
});

});

1 голос
/ 17 июня 2009

Посмотрите код плагина, в первом объекте у вас есть функция .each (), в ней есть код для создания кнопки отмены, она прокомментирована "// Создать кнопку" отмены "- код комментария ниже. Следует отключить кнопку отмены. Чтобы установить по умолчанию 3 звезды, посмотрите, как этот код ведет себя, запустив его в firebug и изменив то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...