繁体   English   中英

加载页面上没有动作javascript

[英]No action javascript on load page

当我加载页面时,js必须显示默认值:month,问题是未显示图形。 我必须单击月份以显示信息。

在我的ajax中,控制台查询字符串: range: month和此代码来标识范围。

  $group = HTML::sanitize($_GET['range']);

  if (empty($group)) {
    $group = 'month';
  }

 switch($group) {
 }

在javascript代码下方(图libray),允许显示图形

谢谢

<script type="text/javascript">
$('#range a').on('click', function(e) {
    e.preventDefault();

    $(this).parent().parent().find('li').removeClass('active');

    $(this).parent().addClass('active');

    $.ajax({
        type: 'get',
        url: '{$link}?range=' + $(this).attr('href'),
        dataType: 'json',
        success: function(json) {
            if (typeof json['order'] == 'undefined') { return false; }

            var option = {  
                shadowSize: 0,
                colors: ['#9FD5F1', '#1065D2'],
                bars: { 
                    show: true,
                    fill: true,
                    lineWidth: 1
                },
                grid: {
                    backgroundColor: '#FFFFFF',
                    hoverable: true
                },
                points: {
                    show: false
                },
                xaxis: {
                    show: true,
                    ticks: json['xaxis']
                }
            }

            $.plot('#chart-sale', [json['order'], json['customer']], option);   

            $('#chart-sale').bind('plothover', function(event, pos, item) {
                $('.tooltip').remove();

                if (item) {
                    $('<div id="tooltip" class="tooltip top in"><div class="tooltip-arrow"></div><div class="tooltip-inner">' + item.datapoint[1].toFixed(2) + '</div></div>').prependTo('body');

                    $('#tooltip').css({
                        position: 'absolute',
                        left: item.pageX - ($('#tooltip').outerWidth() / 2),
                        top: item.pageY - $('#tooltip').outerHeight(),
                        pointer: 'cusror'
                    }).fadeIn('slow');  

                    $('#chart-sale').css('cursor', 'pointer');      
                } else {
                    $('#chart-sale').css('cursor', 'auto');
                }
            });
        }
    });
});

$('#range .active a').trigger('click');
</script>

错误控制台:

uncaught TypeError: $.plot is not a function
    at Object.success (index.php:280)
    at c (jquery-3.4.0.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-3.4.0.min.js:2)
    at l (jquery-3.4.0.min.js:2)
    at XMLHttpRequest.<anonymous> (jquery-3.4.0.min.js:2)

行:

        $.plot('#chart-sale', [json['order'], json['customer']], option);

我写答案只是为了关闭帖子(您可以在问题注释中看到讨论)。请记住,JavaScript没有编译,因此每个表达式都是从上至下读取的。 为了确保您的功能可以被解释器识别,您需要为脚本赋予正确的顺序。 无论如何,如果您使用的是jQuery,则可以在JavaScript中通过windows.load = function(){<your_code>}$(document).ready(function(){<your_code>})加载页面后执行代码。图书馆 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM