如何定义raty“score”变量以传递给php脚本?

时间:2012-09-28 06:00:09

标签: jquery raty

我正在尝试将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>

我的post函数将数据传送到我的数据库:

function rateMe(score) {
                $.post('scripts/php/rater.php',{score:score, userid:<?php echo $memid; ?> },function(data){alert(data+' Score = '+score);
                });         
} 

我的PHP脚本很好,除了分数本身之外,数据还会发布到它!在上面代码的某处,我遗漏了一些东西。我的警报正确地返回所有变量,除了那些引用得分的变量,它们都是null,我的警报的最后部分返回为“Score = Undefined”。我尝试过使用onclick =“javascript:rateMe(得分)”,但这甚至都无法发布数据,我也没有得到警报。

我想知道我做错了什么。我试图在函数之外声明得分变量,我已经在函数中添加了一个click事件,我已经尝试重命名得分变量,如文档中所示,我已经尝试将函数放在$(document).ready函数中(){...}标签,以及代码的raty部分......无济于事。任何帮助将不胜感激...我是一个新手与JavaScript,我正在搜索我的食谱,但找不到答案。如果有人能帮助我理解为什么得分变量没有被传递给php脚本,我将永远感激不尽。谢谢:))

1 个答案:

答案 0 :(得分:7)

尝试将click处理程序放在raty对象的选项中:

<div id="star"></div><br /><br />
<div id="hint"></div><br />
<script src="lib/jquery-1.7.2.js" type="text/javascript"></script>
<script type="text/javascript" src="lib/raty.js"></script>
<script type="text/javascript">

    $('#star').raty({
        half  : true,
        number: 10,
        score : 5,
        cancel     : true,
        cancelHint : 'none',
        target     : '#hint',
        targetKeep   : true,
        click: function(score, evt) {
            $.post('raty.php',{score:score, userid:0 },
                    function(data){
                        alert(data+' Score = '+score);
            });
        }
    });
</script>