jQuery为什么看不到我插件的方法?

时间:2018-09-26 14:13:22

标签: jquery ajax

我正在使用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>

2 个答案:

答案 0 :(得分:0)

您似乎缺少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警告。只需在网络控制台中单击它,然后检查是否返回了某些内容。

答案 1 :(得分:0)

在使用js库之前,请确保您使用以下行调用了所需的库:

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

请注意,您需要<< Bargting 之前包含jQuery库。