【问题标题】:jquery star rating callbackjquery星级评分回调
【发布时间】:2011-08-16 00:16:16
【问题描述】:

我一直在尝试使用这个 jquery 星级插件:http://www.fyneworks.com/jquery/star-rating/#tab-Overview。我试图在点击后获得星的价值,但我一直没有运气。我不确定在哪里包含他们建议的以下回调:

$('.auto-submit-star').rating({
    callback: function(value, link){
        alert(value);
    }
});

我尝试将它粘贴在代码中,但单击星号时没有收到任何警报。谢谢!!

【问题讨论】:

标签: jquery jquery-plugins


【解决方案1】:
$(function(){
    $('input[type=radio].star').rating();
});

从 jquery.rating.js 中删除以上行,一切就绪。 我想我不需要解释为什么,因为它很直观 =)

【讨论】:

  • 你是对的。不清楚是否要使用回调,您需要定义另一个类并复制所有星形 csses 以使脚本正常工作或编辑原始库以删除上面提到的行。用户应该启动评级脚本,而不是 lib 本身。
【解决方案2】:

您需要更改单选按钮上的类从 starauto-submit-star,不要只是将 auto-submit-star 添加到单选按钮上现有的星类。例如我的看起来像这样:

<input name="star1" type="radio" class="auto-submit-star" value="1"/>

【讨论】:

  • 就是这样。为输入提供默认的“star”和“auto-star-submit”会阻碍回调附加到评级星。
【解决方案3】:

你是否给你的单选按钮命名为auto-submit-star

<input type="radio" name="whatever" class="auto-submit-star" />

$('.auto-submit-star') 选择所有具有auto-submit-star 类的单选按钮,然后设置rating 插件。


另一方面,您似乎在DOM ready 之前就已经这样做了。如果你不知道那是什么:

jQuery(document).ready(function() {
    $('.auto-submit-star').rating({
        callback: function(value, link){
            alert(value);
        }
    });
});

【讨论】:

  • 如果这是真的——那么他甚至不会看到任何评分开始。为什么他说他看到了它们,但没有调用回调。
  • @Joseph 感谢您的回复!我尝试为单选按钮提供auto-submit-star,但单击时仍然没有任何内容。
  • @sad-ducky:你有没有可能不等DOM ready?请参阅我的更新答案。
  • 感谢更新的答案!但是,它仍然没有用,所以我决定放弃该插件并编写自己的评分系统。再次感谢!
【解决方案4】:

https://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=21 请参考:您必须使用“.star”以外的选择器

【讨论】:

    【解决方案5】:

    打开浏览器的开发者工具并查看控制台日志;是否有任何警告或错误消息?如果是这样,那么您的代码有问题。否则,Jospeh 的回答可能是正确的,而您的选择器 ($('.auto-submit-star')) 没有选择任何内容。

    【讨论】:

    • 我检查了,但没有关于 javascript 的任何警告/错误,只是一些 css 错误。
    【解决方案6】:

    虽然这是非常古老的帖子,但我的经验可能会对某人有所帮助。 我也有同样的问题。但能够在通过 Ajax 生成代码后解决它,然后在成功回调中我调用了评级插件。它对我有用。 我认为它没有检测到在 DOM 上创建的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多