2012-05-10 44 views
0

我有一個鏈接列表,當我點擊它時,我想計算列表中包含的元素。這是我編碼:Onclick計數在JQuery中通過JSON返回的對象

$('a#' + dataOption.ID).click(function() { 
    $.getJSON("ProductListing/Index", data, function (product) { 
    $.each(product.ja, function (index, value) { 
     num_obj = product.ja.length; 
    }); 
    }); 
}); 
alert(num_obj); 

警報是未定義的。

JSON結果:

{"ja": 
[ 
    {"Name":"ABC1","PictureName1":"my image name1","ID":1}, 
    {"Name":"ABC2","PictureName2":"my image name2","ID":2} 
]} 

誰能告訴我,我怎麼能算的是JSON在我的單擊事件。 Thans非常。

回答

1

你已經發布的代碼立即創建一個click處理函數,然後做一個alert(num_obj) - 因爲num_obj不被任何聲明,並單擊事件本身還沒有發生,num_obj應該那是未定義點。

嘗試警報遷入$.getJSON()功能的回調,只是在那裏num_obj實際上有賦值第一點後:我已經刪除了$.each(),因爲它不

$('a#' + dataOption.ID).click(function() { 
    $.getJSON("ProductListing/Index", data, function (product) { 
    var num_obj = product.ja.length; 
    alert(num_obj); 
    }); 
}); 

注對每個元素迭代product.ja陣列和測試product.ja.length是有意義的(事實上,您沒有在$.each()內使用thisindexvalue也是您不需要每個元素的線索)。

+0

好吧,它現在工作得很好。謝謝你nnnnnn。 – Nothing