rating is not a function jquery 插件错误

rating is not a function jquery plugin error

我有一个 jsp 页面。因为我正在尝试 jquery 星级。我正在使用这个插件 http://www.fyneworks.com/jquery/star-rating/。但是 JS 错误如 TypeError: $(...).rating is not a function Here is my JSP code.

<div class="book-right" id="ajaxTest">
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.rating.js"></script>
    <script type="text/javascript" src="js/jquery-latest.js"></script>
    <script type="text/javascript" src="js/jquery.tablesorter.js"></script>
    <script type="text/javascript" src="js/jquery.tablesorter.min.js"></script>
    <--table + some intermediate loop code --->
        <c:forEach var="leg" items="${option.legs}" varStatus="loopCounter3">
            <div>
                <input type="radio" name="rating-${loopCounter2.index}" value="1" class="rating-star" />
                <input type="radio" name="rating-${loopCounter2.index}" value="2" class="rating-star" />
                <input type="radio" name="rating-${loopCounter2.index}" value="3" class="rating-star" />
                <input type="radio" name="rating-${loopCounter2.index}" value="4" class="rating-star" />
                <input type="radio" name="rating-${loopCounter2.index}" value="5" class="rating-star" />
            </div>
            <input type="hidden" id="avgRating" name="avgRating" value="${leg.courierProduct.rating}"></input>

            <script>
                var avgRating = $('#avgRating').val();
                $('.rating-star').rating('select', avgRating);
            </script>
        </c:forEach>
</div>

我删除了一些 JSP 代码以使其简单。

您不需要加载 jQuery 两次。在这种情况下会发生什么,它是第二次用评级原型方法覆盖前一个。

这应该适合你:

<script src="js/jquery-latest.js"></script>
<script src="js/jquery.rating.js"></script>

另一个问题是您没有正确初始化插件。应该是:

$('.rating-star').rating().rating('select', avgRating);

...先初始化,再调用select方法。

演示: http://plnkr.co/edit/OIjbvkff27YdX4snKnB2?p=preview