我正在使用jquery.raty.min.js来显示星级,在js方法中我可以选择更改显示开始图像
starOff:"/images/star_none.png",
starOn:"/images/star_full.png"
Run Code Online (Sandbox Code Playgroud)
但在这里我想使用字体真棒类
<i class="fa fa-star-o"></i>
<i class="fa fa-star"></i>
Run Code Online (Sandbox Code Playgroud)
我尝试过如下课程
starOff:"<i class='fa fa-star-o'></i>",
starOn:"<i class='fa fa-star'></i>"
Run Code Online (Sandbox Code Playgroud)
但它没有用,任何人都可以帮助这样做.
我有一个raty div的页面.使用经典代码$('.raty').raty({...});,插件可以在这些现有的div上完美运行.但是当我通过ajax函数加载新的raty div时,新的div"没有变成星星".你能帮我找到我的错吗?
$.ajax({
url: '/ws/player/reviews/p/1',
context: document.body,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "jsonpCallbackfunction",
success: function(data) {
$.each(data.response.reviews, function( key, value ) {
html = '';
html += '<div class="raty read" data-rating="5"></div>';
$('#reviews').append(html);
});
}
data: {player_id: player_id, from: $('#reviews').data('from')}
}).done(function() {
$(this).find('.raty').raty({
path: '/img/raty/',
readOnly: true,
score: function() {return $(this).data('rating');}
});
});
Run Code Online (Sandbox Code Playgroud)
虽然,如果我尝试$(this).find('.raty').html('blablabla');"blablabla"正确地写在我的所有'.raty'div中.
谢谢你的帮助,
杰里米
我正在使用jQuery Raty插件在我的网站上启用星级评分系统.
我有一组4个ratable问题(也可以是5个),我用循环动态显示.因此,为了显示星星我正在使用div id如下:
<c:forEach items="${myQuestionList}" var="singleQuestion" varStatus="status">
<p>${singleQuestion.text}</p>
<div id="star${status.index+1}"></div>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
而Raty初始化代码如下:
$("div[id^=star]").raty({
width: 300
});
Run Code Online (Sandbox Code Playgroud)
这完全没问题.显示我的所有4(或5)个问题,并显示Raty星.
现在的问题是这个评级是在一个表格内,需要提交.但问题是Raty <input type="hidden" name="score">为每个Raty附加了一个,因此在提交表单时,不可能说出哪个评级是针对哪个问题.
有没有办法我可以为每个Raty隐藏的输入元素分配一个不同的名称,这将有助于我将其与所提出的问题联系起来.
Raty文档说我可以将分数名称更改为任何内容:
$('#star').raty({ scoreName: 'myscore' });
Run Code Online (Sandbox Code Playgroud)
但这对我没有帮助,因为我正在为所有元素初始化raty插件.
我怎么解决这个问题?请指导.我被卡住了.:(
我正在尝试使用AngularJS的jQuery Raty插件.还没有成功.
我需要的是:
<ul>
<li ng-repeat="obj in collection">
<p>{{obj.rating}}</p>
<div id="star{{$index}}"></div>
<p>{{obj.someText}}</p>
<script>$("#star{{$index}}").raty();</script>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是脚本似乎没有被执行,甚至没有出现在网页中.此外,它看起来也像一个非常丑陋的方法,但我没有更多的想法.
我怎样才能做到这一点?或者我需要为明星提供不同的插件/功能?
我正在使用jquery星级评级插件"Raty" https://github.com/wbotelhos/raty.我正在使用PHP从数据库生成结果集.这也包括得分.我想为每个评级组件设置分数属性.我怎样才能做到这一点?我正在使用这种语法来显示星星.
$('.stars_small').raty({
readOnly : true,
half : true,
score : 2,
space : false
});
<div class="stars_small"></div>
Run Code Online (Sandbox Code Playgroud)
在单个页面中有许多div,动态生成类"stars_small".我想为每个div设置"得分".
我正在尝试将raty实现到一个网站中.我有一个插件除了一个小问题.我无法将评级值存储到我的数据库中,因为我无法将得分变量传递给我的PHP脚本.这是我的代码:
<div id="star" onclick="javascript:rateMe()"></div><br /><br />
<div id="hint"></div><br />
<script type="text/javascript" src="scripts/js/jquery.raty.min.js"></script>
<script type="text/javascript">
$('#star').raty({
half : true,
number: 10,
score : 5,
cancel : true,
cancelHint : 'none',
target : '#hint',
targetKeep : true
});
</script>
Run Code Online (Sandbox Code Playgroud)
我的post函数将数据传入我的数据库:
function rateMe(score) {
$.post('scripts/php/rater.php',{score:score, userid:<?php echo $memid; ?> },function(data){alert(data+' Score = '+score);
});
}
Run Code Online (Sandbox Code Playgroud)
我的PHP脚本很好,除了得分本身之外,数据还会被发布到它!在上面代码的某处,我遗漏了一些东西.我的警报正确地返回所有变量,除了那些引用得分的变量,它们都是null,我的警报的最后部分返回为"Score = Undefined".我曾尝试使用onclick ="javascript:rateMe(得分)",但这甚至无法发布数据,我也没有得到警报.
我想知道我做错了什么.我试图在函数之外声明得分变量,我已经在函数中添加了一个click事件,我已经尝试重命名得分变量,如文档中所示,我已经尝试将函数放在$(document).ready函数中(){...}标签,以及代码的raty部分......无济于事.任何帮助将不胜感激...我是一个新手与JavaScript,我正在搜索我的食谱但无法找到答案.如果有人能帮助我理解为什么得分变量没有被传递给php脚本,我将永远感激不尽.谢谢 :)
我想让jquery.raty与Django合作.我完全设置了静态文件的服务,但是它似乎在查找评级图像文件时有问题.
这就是我设置它的方式:
base.html(这里静态加载很好)
<script src="{{ STATIC_URL }}raty/js/jquery.raty.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
模板:
<div id="star"></div>
Run Code Online (Sandbox Code Playgroud)
JS
$('#star').raty({
cancel : true,
cancelOff : 'cancel-off-big.png',
cancelOn : 'cancel-on-big.png',
half : true,
size : 24,
starHalf : 'star-half-big.png',
starOff : 'star-off-big.png',
starOn : 'star-on-big.png'
});
Run Code Online (Sandbox Code Playgroud)
但不是星星,而是看到替代文字编号:

这是刷新页面时从服务器获得的消息:
[07/Oct/2012 21:03:48] "GET /contact/add/img/star-off-big.png HTTP/1.1" 200 9941
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它会查看当前位置(http://127.0.0.1:8000/contact/add/)并附/img/xxx.png加到/contact/add/.
如何使用STATIC_URL路径在javascript中设置图像的路径?
真的很感谢你对此的帮助.
我正在尝试使用此评级插件,但我无法在点击时设置新分数.
我正在对点击事件发出ajax请求并获得新的计算得分.我想在click事件中设置新分数.做正确的方法是什么?
<div class="rating" data-id="some-int" data-score="0.5"></div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
$(".rating").raty({
score: function () { return $(this).attr("data-score"); },
click: function (score, evt) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "./ajax.asmx/RateImage",
data: "{ ImgId: " + $(this).attr("data-id") + ", Score: " + score + "}",
dataType: "json",
async: false,
success: function (result) { actionResult = result.d; }
});
if (actionResult.Success) {
console.log("Score: " + actionResult.Message);
score = actionResult.Message;
} else { // cancel rating
alert(actionResult.Message);
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud) 因此,通过添加,我已经开发了ratyrate就可以了
<%= javascript_include_tag 'ratyrate.js', "data-turbolinks-track" => false %>
Run Code Online (Sandbox Code Playgroud)
我的观点.在此之前,只有在直接访问网址或刷新页面时才会加载星标.
现在,当我在heroku上部署我的应用程序时,我遇到了完全相同的问题(星号未通过链接访问页面时加载)!
我希望这是足够的信息(乐意提供更多),并且有人在面对此之前/有任何想法!谢谢!
解决了 - 看答案
我正在尝试使用raty.js计算我的rails应用中电影对象的平均星级.这是我的代码片段:
控制器/ movies_controller.rb
def show
@avg_review = @movie.average(:rating)
end
private
def set_movie
@movie = Movie.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
schema.rb
create_table "movies", force: true do |t|
t.integer "user_id"
t.string "title"
t.text "description"
t.integer "image_id"
t.string "director"
t.float "rating"
t.integer "num_ratings"
t.datetime "created_at"
t.datetime "updated_at"
t.text "url"
t.string "tracking"
end
Run Code Online (Sandbox Code Playgroud)
我一直收到错误:
undefined method `average' for #<.Movie:0x5b385d0>
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这是rails中的预定义方法.然而,我收到了错误.有人能帮我吗?