script.js:10未捕获的ReferenceError:未定义serachFor

时间:2016-05-03 18:11:40

标签: javascript jquery scope global-variables var

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

script.js:10未捕获的ReferenceError:未定义serachFor

$(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 

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

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

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

你还将searchFor拼错为serachFor