javascript - 添加提交按钮到 jquery 星级评定

标签 javascript jquery rating

我的 smarty 模板中有一个默认的星级评级系统。它对于桌面用户来说非常有用,但在移动设备中,我发现我总是点击错误的值。我希望我可以添加一个按钮来提交我的评分,而不是当用户点击星星时自动提交。

        $(document).ready(function(){
            $(".one-star, .two-stars, .three-stars, .four-stars, .five-stars").click(function() {
                $("#current_rating").width($(this).html()*30);
                $.ajax({data: ({ action: 'save_rating', rating: $(this).html(), listing_id: <?php echo $id; ?>}), success: function() { window.location.href = '<?php echo $this->escape(URL); ?>'; }});
                return false;
            });
        });

            <ul class="star-rating">
                <li id="current_rating" class="current-rating" style="width:<?php echo $rating*30; ?>px;"><?php echo $rating; ?> Stars.</li>
                    <li><a href="#" title="1 star" class="one-star">1</a></li>
                    <li><a href="#" title="2 stars" class="two-stars">2</a></li>
                    <li><a href="#" title="3 stars" class="three-stars">3</a></li>
                    <li><a href="#" title="4 stars" class="four-stars">4</a></li>
                    <li><a href="#" title="5 stars" class="five-stars">5</a></li>
            </ul>

最佳答案

将此元素添加到您的 html 部分:

<input type=button id=submit_rating value="submit rate" />

并将你的 jquery 代码更改为:

$(document).ready(function(){
        var rate=null;
        $(".one-star, .two-stars, .three-stars, .four-stars, .five-stars").click(function() {
             rate = $(this).html();
             $("#current_rating").width(rate*30);
        });
        $('#submit_rating').click(function(){
                $.ajax({data: ({ action: 'save_rating', rating: rate, listing_id: <?php echo $id; ?>}), success: function() { window.location.href = '<?php echo $this->escape(URL); ?>'; }});
                return false;
        });
    });

关于javascript - 添加提交按钮到 jquery 星级评定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11155706/

相关文章:

Javascript 程序在按下某个按键时卡住。为什么?

javascript - 如何禁用 jQuery UI 弹出窗口上的按钮

python - 为什么不能在 Django ManyToMany 字段上强制执行唯一性?

Javascript - 识别事件何时发生并采取行动。

javascript - 性能方面——canvas vs base URI vs image

javascript - Backbone 不会触发简单模型的事件

jquery - 如果没有选中复选框则显示确认

php - 赞成/反对投票脚本

android - 如何让用户从应用程序内部评价 Android 应用程序(无需重定向到 Play 商店)

javascript - 使 iframe 内容溢出到 iframe 范围之外