我正在从www.fyneworks.com/jquery/star-rating/添加星级评分插件,我发现文档相当模糊。可能只是因为我正在寻找错误的地方,这对我来说并不是那么不寻常。
我们在asp.net MVC应用程序上,我想在3个不同的页面中添加星级评级对象。在“创建评级”页面,我想实现5星评级,但我想隐藏或删除“删除”图标。换句话说,当我给用户提供评价的机会时,我想将其默认为3星,并且只允许他们投票1 - 5.我不希望他们能够将评级提交为零。 radiobuttons背后的概念将处理这个问题,除了“删除”选择覆盖了这一点 这是我目前的代码。
<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>
提前感谢您的帮助。
鲍勃
答案 0 :(得分:2)
您可以使用插件的设置参数来禁用取消按钮:
$.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 :(得分:1)
查看插件的代码,在第一个对象中你有函数.each(),你有代码创建取消按钮它的注释“//创建'取消'按钮” - 下面的评论代码。应该关闭取消按钮。要设置为默认3星,请通过在firebug中运行它来查看此代码的行为并更改您需要的内容。
答案 2 :(得分:1)
还有:
$(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();
}
});
});