2012-11-18 62 views
0

我无法成功传递一个JSON对象作为参数,我得到一个uncaught referenceError..any想法?麻烦传递Json对象作为参数

$.getJSON('./getMe.php', function(data){ 
    $.each(data, function(key, pack){ 
     var id = key.toLowerCase().replace(" ", "_"); 
     $('#breadcrumbs').append("&nbsp;&nbsp;<span id='" + id + " 'onclick='DoSomething(id, pack);'>" + key + "</span>&nbsp;&nbsp;&nbsp;"); 
    }); 

    $('#breadcrumbs').append('</br></br>'); }) 
    .success(function(){ 
     $('#loader').hide(); 
}); 

function DoSomething(id, pack){ 
    $.each(pack, function(stage, items){ 
     alert(stage); 
    }); 
    $('#packages').html('&rarr;&nbsp;&nbsp;' + id); 
} 

我试着通过packDoSomething()

+0

你不及格'pack'作为变量的例子。通过它就像你通过'跨度'的'id'' – Jashwant

+0

但是,这样做会尝试输出变量作为文本,而不是作为JSON对象。 –

+0

我也试过,它也没有工作.. – user616

回答

0

你将不能够把它传递在这样的一个变量,这就是为什么你所得到的引用错误。这里是你可以做什么:

data = [{test: "test", hi: "hi!"}] 

$.each(data, function(key, pack){ 
    var id = key, 
     clickLink = $('<span>' + key + '</span>') 
      .attr({id: id}) 
      .click(function() { doSomething(id, pack);}); 

    $('#breadcrumbs').append(clickLink); 
}); 

var doSomething = function(id, pack) { 
    alert(pack); 
} 
+0

完美!非常感谢你 – user616