jQuery 星级评分插件变量 return 不正确
jQuery star rating plugin variable doesnt return correctly
我正在制作一个评级系统,使用 5 星对电影进行评级。我为此使用 jQuery bar plugin
(jQuery bar plugin)。
有人可以投票从1到5。数据存储在数据库中。有人投票后,星星将被禁用,并显示用户评分的星星数量。
使用插件的 initialRating
值,它将定义有多少星 'selected'。所以如果这个变量是4,4颗星会被着色。
例如,当我硬编码时 initialRating: 4
它有效。虽然当我使用 initialRating: currentRating
(投票的星星数量)时,它不会 return 正确的数量,它只会显示 1 颗星。当我 console.log
currentRating
它会 return 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);
}
});
}
});
});
变量 currentRating
是 string
而插件需要 integer
。
使用 parseInt()
将 string
转换为 integer
将解决问题。
代码
currentRating = parseInt(currentRating);
我正在制作一个评级系统,使用 5 星对电影进行评级。我为此使用 jQuery bar plugin
(jQuery bar plugin)。
有人可以投票从1到5。数据存储在数据库中。有人投票后,星星将被禁用,并显示用户评分的星星数量。
使用插件的 initialRating
值,它将定义有多少星 'selected'。所以如果这个变量是4,4颗星会被着色。
例如,当我硬编码时 initialRating: 4
它有效。虽然当我使用 initialRating: currentRating
(投票的星星数量)时,它不会 return 正确的数量,它只会显示 1 颗星。当我 console.log
currentRating
它会 return 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);
}
});
}
});
});
变量 currentRating
是 string
而插件需要 integer
。
使用 parseInt()
将 string
转换为 integer
将解决问题。
代码
currentRating = parseInt(currentRating);