在我的页面上,我有单选按钮......
<div class="stars-wrapper1">
<input type="radio" name="newrate" value="1" title="VeryPoor" @Html.Raw((Model.review == 1?"checked=\"checked\"":"")) />
<input type="radio" name="newrate" value="2" title="Poor" @Html.Raw((Model.review == 2?"checked=\"checked\"":"")) />
<input type="radio" name="newrate" value="3" title="Average" @Html.Raw((Model.review == 3?"checked=\"checked\"":"")) />
<input type="radio" name="newrate" value="4" title="Good" @Html.Raw((Model.review == 4?"checked=\"checked\"":"")) />
<input type="radio" name="newrate" value="5" title="Excellent"@Html.Raw((Model.review == 5?"checked=\"checked\"":"")) />
<input type="hidden" name="rate" value="@Model.ThePhoto.ID" disabled="disabled">
</div>
它们是单选按钮,当我使用星号函数时,它们变成了这个......
<div class="stars-wrapper1">
<input type="hidden" name="rate" value="41" disabled="disabled">
<div class="ui-stars-star ui-stars-star-on ui-stars-star-disabled">
<a title="">1</a></div>
<div class="ui-stars-star ui-stars-star-on ui-stars-star-disabled">
<a title="">2</a></div>
<div class="ui-stars-star ui-stars-star-on ui-stars-star-disabled">
<a title="">3</a></div>
<div class="ui-stars-star ui-stars-star-disabled">
<a title="">4</a></div>
<div class="ui-stars-star ui-stars-star-disabled">
<a title="">5</a>
</div>
<input type="hidden" name="newrate" value="0" disabled="disabled">
</div>
当我点击一个星星我隐藏的值,所以我可以保存到我的数据库这是这张照片收到的评级,但我不能得到'这个'隐藏的价值,我得到41的时间第一个照片ID,有页面上有几个这些星星有不同的隐藏ID
jquery的:
$(document).ready(function () {
$(".stars-wrapper1").stars({
oneVoteOnly: true
});
$('.stars-wrapper1 a ').click(function () {
alert($('input:hidden[name$=rate]').val());
});
});
在一个页面上有许多不同的图像与这些星星,所以rel是我试图找出用户评价的图像。
这是我得到明星形式...... Star Rating Plugin
答案 0 :(得分:1)
该值存储在隐藏输入中。你可以尝试类似的东西:
$('.stars-wrapper1 a ').click(function () {
alert($('input:hidden', this).val());
});
更准确地说,输入的名称似乎以rate结尾,所以你也可以尝试
$('.stars-wrapper1 a ').click(function () {
alert($('input:hidden[name$=rate]', this).val());
});
答案 1 :(得分:1)
如果您想删除所有隐藏字段中的禁用以获得星级评分,您可以执行以下操作
$(".stars-wrapper1").stars({
oneVoteOnly: true,
callback: function(ui, type, value)
{
$(':hidden').removeAttr('disabled')
}
});
它将从所有隐藏字段中删除已禁用
答案 2 :(得分:1)
我不确定你对这个星级评分系统有多远,我现在正在努力实现另一个使用无线电输入的方法。我访问了您链接到的网站,我没有看到任何星级评定的工作示例。我只看到下拉菜单和实际的单选按钮。
我还注意到该网站说没有补丁的情况下它不适用于jQuery 1.6,所以我猜不会支持更新版本的jQuery。
我正在使用的那个非常好,虽然我一直在努力使用一些jQuery来保存对数据库的评级,并在表格中将其读出来。它没有内置的数据库支持。http://www.fyneworks.com/jquery/star-rating/
这个看起来非常好,http://rateit.codeplex.com/releases/view/55958因为它使用范围而不是无线电,看起来更健壮,并且支持jQuery 1.6到1-7.2。我可以切换到这个,但我刚刚完成了我的数据库工作与另一个。
我知道这不能回答你的问题,但你选择的系统看起来不受支持而且没有现代化,所以如果你没有投入大量时间,你可能想要转换。
答案 3 :(得分:0)
他们页面上的示例创建了一个名为=“rate”的隐藏输入,它存储了所选的值。
所以你应该能够得到这样的价值:
$('.stars-wrapper1 a ').click(function () {
var result = $('input[name="rate"]').val();
alert(result);
});