我在这里提出的先前问题的答案给我带来了另一个问题,因为我对异步调用的了解越来越多,我仍然无法弄清楚如何完成(如上一个答案向我展示的那样)一个允许我存储的列表并使用来自选定列表项的数据。
$('#home').live('pageshow', function(){
// creating object
var customerList = JSON.parse('{"customerInAccount":[{"customer_name":"Jane Doe","auto_id":"21"},{"customer_name":"Jack Black","auto_id":"22"}]}');
// creating html string
var listString = '<ul data-role="listview" id="customerList">';
// running a loop
$.each(customerList.customerInAccount, function(index,value){
listString += '<li><a href="#" data-cusid='+this.auto_id+'>'+this.customer_name+'</a></li>';
});
listString +='</ul>';
console.log(customerList);
//appending to the div
$('#CustomerListDiv').html(listString);
// refreshing the list to apply styles
$('#CustomerListDiv ul').listview();
// getting the customer id on the click
$('#customerList a').bind('click',function(){
var customerID = $(this).data('cusid');
alert(customerID);
});
});
用 js 小提琴http://jsfiddle.net/amEge/3/
这段代码效果很好,可以让我完成我想要的,但首先我需要从 ajax 调用中填充 customerList。但是从“成功”功能来看,我似乎无法让代码正常工作。
$.post(postTo,{id:idVar} , function(data) {
customerList = data;
//alert(customerList);
})
当我在 ajax 函数中移动代码时,它不起作用。我只是想知道是否有人可以帮助我,也许可以告诉我如何从异步调用中处理这个问题?
非常感谢