jQuery委托问题

时间:2014-02-01 11:59:22

标签: jquery delegation raty

我在网页中使用了用于jQuery的Raty Rating插件,如下所示,我的问题是当我用我的代码添加评论时我无法获得评级,因为评级代码是在动态生成的通过jQuery代码,我认为这是一个委托问题但不确定在哪里放置我的评论表单提交代码以允许它获得评级值!?

HTML:

<form action="#" method="post" id="comment">
    <div>
        <p>Your comment: </p>
        <script>
        $(document).ready(function() {
            // Generates the Raty Rating code below
            $(".rating").raty({
                hints: ['Poor', 'Fair', 'Good', 'Very Good', 'Excellent'],
                path: "media/images/",
                size: 24
            });
        });
        </script>
        <div class="rating"></div>
    </div>
    <textarea name="message" id="message"></textarea>
    <input type="hidden" value="104" name="tid" id="tid">
    <button type="submit">Add Comment</button>
</form>

raty评级生成的代码:

<div class="rating" style="cursor: pointer; width: 140px;">
    <img src="media/images/star-off.png" alt="1" title="Poor">&nbsp;
    <img src="media/images/star-off.png" alt="2" title="Fair">&nbsp;
    <img src="media/images/star-off.png" alt="3" title="Good">&nbsp;
    <img src="media/images/star-off.png" alt="4" title="Very Good">&nbsp;
    <img src="media/images/star-off.png" alt="5" title="Excellent">
    <input type="hidden" name="score">
</div>

的script.js

$("#comment").on("click", "button", function(e)
{
    e.preventDefault();

    var tid = $('#comment #tid').val();
    var rating = $('#comment #score').val();
    var comment = $('#comment #message').val();

    alert(tid+"\n"+rating+"\n"+comment);

});

明确了目前代码的作用。

0 个答案:

没有答案
相关问题