基本错误Scope JQuery

时间:2018-02-16 10:12:49

标签: jquery

如果我有一个函数,那就调用index.js文件中的另一个函数。为什么要显示此错误?

<!-- page js -->
<script type="text/javascript" src="{{ asset('assets/js/index.js')}}" ></script> 
<script>
  function onedevice(imei) {
    // mostramos las graficas, se desean datos
    $('#charts_device1').show();
    $('#charts_device2').show();

    // rellenamos los datos
    // var imei = $("#select_imeis").val();
    if (imei !== 0) {
      load_chart_device(imei); // < this line
    }
  }
</script>

错误是:

  

未捕获的ReferenceError:未定义load_chart_device        在onedevice(report_devices:302)
       在HTMLDocument。 (report_devices:234)
       在mightThrow(jquery-3.2.1.js:3583)
       在过程中(jquery-3.2.1.js:3651)

我在index.js中更改了我的代码。但仍然没有工作。

function load_chart_device(imei){

console.log(imei);

//CODE....
 });




 function onedevice(imei){
 // mostramos las graficas, se desean datos

 $('#charts_device1').show();
 $('#charts_device2').show();
 // rellenamos los datos
 // var imei = $("#select_imeis").val();
 if(imei!==0){
    load_chart_device(imei);
  }

}

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为函数onedevice()首先执行。在html head标签

中写入index.js的导入

像这样写下index.html

<!DOCTYPE html>
<html>

<head>
    <title></title>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="index.js"></script> 

</head>

<body>
    <script type="text/javascript">
        var imei = 10;

        function onedevice(imei) {
            // code ...
            if (imei !== 0) {
                load_chart_device(imei);
            }
        }

        // call onedevice
        onedevice(imei);
    </script>
</body>

</html>

并像这样写下index.js

function load_chart_device(imei) {
    console.log("load_chart_device is working fine");
    alert(imei);
}

确保您已在index.js代码中导入<head></head>

要进一步了解其工作原理,请阅读Load and execution sequence of web