【问题标题】:jQuery Star Rating plugin addClass does not workjQuery Star Rating 插件 addClass 不起作用
【发布时间】:2012-04-27 15:04:57
【问题描述】:

我正在使用来自以下站点 http://www.fyneworks.com/jquery/star-rating/# 的 JQuery 和 Star Rating Plugin。如果我在 Asp 标记中使用评级系统,则没有问题。但是,如果我动态创建评分系统并遵循相同的步骤,它只会显示为单选按钮而不是星号。

这是按预期工作的标记:

 <input name="star4" id="Radio1" type="radio" class="star" />

这里是相关的 jquery 脚本,它不起作用,只显示未转换的单选元素:

      function loadMovies(firstMovie, lastMovie) {

          for (incMovie = firstMovie; incMovie <= lastMovie; incMovie++) {
              $('<input>', {
                  type: "radio",
                  id: 'star1-' + incMovie,
                  name: "star",
               }).appendTo($('#sngMovie' + incMovie));

              $('#star1-' + incMovie).addClass('star');
          }
      }

当单选按钮具有“星级”类时,应该将其转换为星级评定系统。但是在 JQuery 中添加类时它不起作用。即使我尝试了以下操作,单选按钮也没有转换:

标记

<input name="star4" id="Radio1" type="radio" />  

脚本

$('#Radio1').addClass("star");

我需要能够动态创建评分系统。所以我需要一些帮助来使用 jquery addClass 或类似的东西将单选按钮转换为评级系统。

【问题讨论】:

    标签: jquery asp.net rating-system


    【解决方案1】:

    试试这个:

    $('#Radio1').addClass("star");
    $('input[type=radio].star').rating();
    

    或事件更好:

    $('#Radio1').addClass("star").rating();
    

    编辑:更多解释 星级插件是一个普通的 jQuery 插件(查看如何构建插件here)。通常,要在元素上调用插件,您必须执行以下操作:

    $('#myElement').myPlugin();
    

    在星插件的情况下,插件代码底部有如下代码:

    $(function(){
        $('input[type=radio].star').rating();
    });
    

    这个 sn-p 将在所有带有 'star' 类的单选按钮上运行 rating() 插件,并将在 jQuery.ready 事件上完成(在 jQuery 方法中包装一些东西,与将其添加到就绪事件)。

    当你给一个元素添加star类时,上面的coden-p执行完后,你必须自己调用rating()插件。

    希望这个解释对你有帮助:)

    【讨论】:

    • $('#Radio1').addClass("star").rating();这成功了,非常感谢。我刚刚开始学习jquery。你能告诉我为什么我在使用 jquery 时最后需要 rating() 吗?
    • 我在答案中添加了一些解释
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    相关资源
    最近更新 更多