如何在jQuery中从数据库获取星级评分的数据?
问题描述:
The values do not pass for "rate_number" from database."ratingValue" alert and "id" alert are working, but "num" alert is not working.
Here is my PHP code.
$jsqla = mysql_query("select id,name,rate_score,rate_number,video_image from products where genre='$genre' limit 0,5");
if($jrowa['rate_number'] > 0){
$ratea = $jrowa['rate_score'] / $jrowa['rate_number'];
$rateid = $jrowa['id'];
}else{
$ratea = 0;
$rateid = $jrowa['id'];
}
Here is my HTML code.
<div class="col-sm-2 portfolio-item" style="width: 20%;">
<input class="rating form-control input-star-rate" id="<?php echo $rateid; ?>" name="rating" value="<?php echo $ratea; ?>" data-min="0" data-max="5" data-step="0.3" data-size="xs" style="display: none; text-align: center;"/>
</div>
Here is my jQuery code.
$(function(){
$(document).ready(function(e) {
var $stars = $('.input-star-rate');
$stars.bind('change', function() {
var $this = $(this);
var ratingValue = $this.val();
alert(ratingValue);
var id = $this.attr("id");
alert(id);
var num = parseInt($this.attr("rate_number") + 1, 10);
alert(num);
});
});
});
值不从数据库传递“rate_number”。“ratingValue”alert和“id”alert正在工作, 但是“num”警报不起作用。 p>
这是我的PHP代码。 p>
$ jsqla = mysql_query(“select id,name ,rate_score,rate_number,video_image来自其中genre ='$ genre'limit 0,5“)的产品;
if($ jrowa ['rate_number']&gt; 0){
$ ratea = $ jrowa ['rate_score' ] / $ jrowa ['rate_number'];
$ rateid = $ jrowa ['id'];
} else {
$ ratea = 0;
$ rateid = $ jrowa ['id'];
}
code> pre>
这是我的HTML代码。 p>
&lt; div class =“col-sm-2 portfolio-item”style =“width:20%;”&gt;
&lt; input class =“rating form-control input-star-rate”id =“&lt;?php echo $ rateid;?&gt;” name =“rating”value =“&lt;?php echo $ ratea;?&gt;” data-min =“0”data-max =“5”data-step =“0.3”data-size =“xs”style =“display:none; text-align:center;”/&gt;
&lt; / div&gt;
code> pre>
这是我的jQuery代码。 p>
$(function(){
$( 文件).ready(function(e){
var $ stars = $('。input-star-rate');
$ stars.bind('change',function(){
var $ this = $(this);
var ratingValue = $ this.val();
alert(ratingValue);
var id = $ this.attr(“id”);
alert(id); \ n
var num = parseInt($ this.attr(“rate_number”)+ 1,10);
alert(num);
});
});
});
code > pre>
div>
答
Try
var num = parseInt($this.attr("value") + 1, 10);
alert(num);
instead of
var num = parseInt($this.attr("rate_number") + 1, 10);
alert(num);