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
方法。
我有一个 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
方法。