我使用MVCContrib创建MVC3以显示我的网格。网格中的一列是明星评估者。
下面是我的代码,显示我如何调用我的用户率和我的jquery。
我的问题是,费率的星星只显示在第一条记录上,而不是所有记录。
有人可以帮忙吗? ..请
<div id="grid">
@{
Html.Grid(Model).Columns(column =>
{
column.For(c => c.taUserName).Named("Agent").HeaderAttributes(@class => "gridheader").Attributes(style => "width:15%");
column.Custom(@<div id="star-rating">
<input type="radio" name="@column.For(c => c.userRate)" class="rating" value="1" />
<input type="radio" name="@column.For(c => c.userRate)" class="rating" value="2" />
<input type="radio" name="@column.For(c => c.userRate)" class="rating" value="3" />
<input type="radio" name="@column.For(c => c.userRate)" class="rating" value="4" />
<input type="radio" name="@column.For(c => c.userRate)" class="rating" value="5" />
</div>);
}).Render();
}
</div>
<script type="text/javascript">
$(function () { // Start when document ready
$('#star-rating').each(function () {
//Get the hidden field data and set it to the rating plugin
$(this).rating();
}); // Call the rating plugin
});
</script>
答案 0 :(得分:1)
如评论中所述,ID应该是唯一的。切换到课程将解决您的问题。
另一种应该工作的方式(但使用类绝对是一个更好的选择),是选择使用属性选择器,其中id是属性: $(&#34; [ID =&#39;星级评定&#39;]&#34) 该选择器将选择具有指定id的所有元素,而不是仅选择第一个。