【发布时间】:2016-04-19 11:18:35
【问题描述】:
我正在制作一个评分系统,以使用 5 星对电影进行评分。我为此使用jQuery bar plugin (jQuery bar plugin)。
有人可以从 1 到 5 投票。数据存储在数据库中。有人投票后,星星将被禁用并显示用户评分的星星数量。
使用插件的initialRating 值,它将定义“选中”的星数。所以如果这个变量是 4,就会有 4 颗星被着色。
当我硬编码时,例如 initialRating: 4 它可以工作。虽然当我使用initialRating: currentRating(投票的星星数量)时,它不会返回正确的数量,它只会显示 1 颗星。当我console.logcurrentRating 时,它会返回4。
那么,硬编码4 是如何起作用的,而不是不起作用的currentRating(值为4)。
代码
$(function () {
currentRating = $(".rating").val(); //Getting the value that someone vote previously
console.log(currentRating); // Displays 4
$('#rating').barrating('show', {
theme: 'fontawesome-stars',
showSelectedRating: true,
initialRating: currentRating,
onSelect: function (value, text) {
movieTitle = $('.movie-name'). text(),
tmdb_id = $(".imdb_id").val(),
_token = $(".csrf_field").val();
$.ajax({
headers: {
'X-CSRF-TOKEN': _token
},
method: "POST",
url: "/movies/" + tmdb_id + "/rate",
data: {
title: movieTitle,
tmdb_id: tmdb_id,
rating: value
},
success: function (result) {
$("#div1").html(result);
}
});
}
});
});
【问题讨论】:
-
你能添加一个更简单的代码版本吗?
-
找到问题了,谢谢!
标签: javascript jquery jquery-bar-rating