私は5つの星を使って映画を評価する評価システムを作っています。私はこれにjQuery bar plugin
を使用します(jQuery bar plugin)。jQueryの星評価プラグインの変数が正しく返されない
誰かが1から5まで投票できます。データはデータベースに保存されます。誰かが投票した後、星は無効になり、ユーザーが評価した星の量が表示されます。
プラグインの値がinitialRating
の場合、選択された星の数が定義されます。したがって、この変数が4の場合、4つの星が色付けされます。
ハードコードの場合は、たとえばinitialRating: 4
となります。 initialRating: currentRating
(投票した星の金額)を使用すると、正しい金額が返されず、1つ星だけが表示されます。 console.log
currentRating
の場合、4
が返されます。
の代わりにハードコーディング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);
}
});
}
});
});
あなたは、コードのシンプルなバージョンでフィドルを追加することができますか? – SamGhatak
問題が見つかりました。ありがとうございました! –
歓声メイト:)... – SamGhatak