【问题标题】:script.js:10 Uncaught ReferenceError: serachFor is not definedscript.js:10 Uncaught ReferenceError: serachFor 未定义
【发布时间】:2016-05-03 18:11:40
【问题描述】:

为什么我的变量没有定义?我在开始时将其定义为全局变量,但在我的函数中无法识别。

script.js:10 Uncaught ReferenceError: serachFor is not defined

$(document).ready(function() {

var searchFor = "";
var artists = "js/data.json";

$('#submit').click(function(e) {
    e.preventDefault();
    $.getJSON( artists, function(data) {
        searchFor = $('#search').val();
        $.each( data, function( i, item ) {
            if (serachFor == item.name) {
                $("ul").append( "<li>Name: " + item.name + 
                                "<br/>Known: " + item.reknown + 
                                "<br/><img src='images/" + item.shortname + "_tn.jpg' />" + 
                                "<br/>Bio: " + item.bio + "</li><hr/>" );
            }  // end of if statement
       }); // end of each function 
    }); // end of getJson function 
  });  // end of submit on click function 
});  // end document ready function 

【问题讨论】:

  • 错误信息是否说明了一切:serachFor !== searchFor.

标签: javascript jquery scope global-variables var


【解决方案1】:

您输入的是“serach”而不是搜索。

感谢@Teemu 发现了这个,我没有看到你多次使用它。

【讨论】:

  • @Jacqueline 我们有时都会拼错东西 :)
【解决方案2】:

在 $(document).ready(function(){...}); 之外声明你的全局变量;

如果你把它放在 doc ready 函数中,你实际上并没有创建一个全局变量。

/* Global Variables */    
var searchFor = "";

$(document).ready(function() {...});

您还将 searchFor 拼错为 serachFor

【讨论】:

    猜你喜欢
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    相关资源
    最近更新 更多