首页 > 解决方案 > 为什么 jQuery 看不到我的插件的方法?

问题描述

我正在使用 Barrating 5 星 jQuery 插件。出于某种原因,我收到错误:

.barrating 不是函数

下面是我的代码。我已经包含了所有的 js 和 css 文件。如果您需要更多详细信息,请告诉我。

编辑:我添加了 css/js 声明

    <link type="text/css" rel="stylesheet" href="css/font-awesome.css">
  <script src="js/jquery.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
  <script src="js/search.js"></script>

  <script src="<?php echo asset_url(); ?>/newweb/jquery-bar-rating-master/dist/jquery.barrating.min.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="css/tracking.css">
  <link rel="stylesheet" type="text/css" href="css/badge.css">
  <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
    <!-- NProgress -->
    <link href="<?php echo asset_url(); ?>/warehouseadmin/vendors/nprogress/nprogress.css" rel="stylesheet">
    <link href='<?php echo asset_url(); ?>/newweb/jquery-bar-rating-master/dist/themes/fontawesome-stars.css' rel='stylesheet' type='text/css'>
 <select  class='rating' id='rating_<?php echo $waybill; ?>' data-id='rating_<?php echo $waybill; ?>'>
                            <option value="1" >1</option>
                            <option value="2" >2</option>
                            <option value="3" >3</option>
                            <option value="4" >4</option>
                            <option value="5" >5</option>
                        </select>

<script type="text/javascript">
    $(function() {
        $('.rating').barrating({
            theme: 'fontawesome-stars',
            onSelect: function(value, text, event) {

                // Get element id by data-id attribute
                var el = this;
                var el_id = el.$elem.data('id');

                // rating was selected by a user
                if (typeof(event) !== 'undefined') {

                    var split_id = el_id.split("_");

                    var postid = split_id[1];  // postid

                    // AJAX Request
                    $.ajax({
                        url: 'rating_ajax.php',
                        type: 'post',
                        data: {postid:postid,rating:value},
                        dataType: 'json',
                        success: function(data){
                            // Update average
                            var average = data['averageRating'];
                            $('#avgrating_'+postid).text(average);
                        }
                    });
                }
            }
        });
    });

    </script>

标签: jqueryajax

解决方案


您似乎缺少JQuery plugin import

<script src="js/jquery.min.js"></script>
<script src="js/jquery.barrating.min.js"></script>

此导入需要放在您的代码之前。

我认为您的导入网址可能已损坏。

<script src="<?php echo asset_url(); ?>/newweb/jquery-bar-rating-master/dist/jquery.barrating.min.js" type="text/javascript"></script>

如果此资源 (jquery.barrating.min.js) 已添加到您的页面,或者是否有 404 警告,请检查您的浏览器控制台。只需在 Web 控制台中单击它,然后检查是否返回了某些内容。


推荐阅读