我正在使用星级评分,100%正常工作,除非我使用javascript插入值:
示例:http://www.gamer-certified.fr/test.html
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery.ajax({
type: "get",
dataType: "jsonp",
url: "http://www.gamer-certified.fr/export/widget.php",
data: {demandeur: "esl" },
cache: true,
success: function(data, textStatus, XMLHttpRequest){
var obj = null, length = data.length;
for (var i = 0; i < length; i++) {
widget = "<span class='stars'>"+(data[i].qualite / 2)+"</span>" // automatic not working
widget = "<span class='stars'>4</span>" // manually not working
jQuery('#gamer-certified'+i).html(widget);
}
}
});
});
</script>
唯一有效的方法就是直接将数据放在小部件外的值范围内+ =
<span class="stars">4</span> // is working when directly put on the HTML side
示例:http://www.gamer-certified.fr/test.html
谢谢!
答案 0 :(得分:1)
要找出手动输入数据的原因和您收到的数据不起作用的原因,您需要弄清楚手动数据和输入数据之间的区别。这是jQuery事件的时间吗?它是数据的格式吗?找到这种差异后,请确保使用正确的方法解决问题。
编辑:根据对代码的审核,$.stars()
调用发生在$(document).ready()
上,之后检索内容。在回调中调用`$ .stars(),而不是之前。
答案 1 :(得分:1)
我不知道这是否会影响您的问题,但+
之前有0
个缺失:
widget = "<span class='stars'>"+0+(data[i].qualite / 2)+"</span>"