我正在学习新的 jQuery $.ajax 回调语法。
问:如果我将 req.success 移到 $('td.showcities').click 函数之外,那么我应该如何引用 $tr?
// When the user clicks on a state, the list of cities will appear.
$('td.showcities').click(function(){
var $tr = $(this).closest('tr');
var StateID = $tr.data('StateID');
var StateName = $(this).next().text();
var req = $.ajax({
url: 'Remote/City.cfc?queryFormat=column'
,data: {
method:'WhereStateID'
,returnformat:'json'
,StateID:StateID
}
});
req.success(function(result){
$('.highlight').removeClass('highlight');
$('.err').removeClass('err');
if (result.MSG == '') {
$tr.addClass('highlight');
var qryCity = result.qry.DATA; // Normalize
qryCity.RecordCount = result.qry.ROWCOUNT; // Normalize
qryCity.ColumnList = result.qry.COLUMNS; // Normalize
var TableData = '';
for (var i = 0; i < qryCity.RecordCount; i++) {
TableData
+='<tr data-CityID="' + qryCity.CITYID[i] + '">'
+ '<td>' + qryCity.CITYNAME[i] + '</td>'
+ '</tr>';
};
$('#cities tbody').empty().append(TableData);
$('#cities thead th').text(StateName);
} else {
$tr.addClass('err');
$('#msg').text(result.MSG).addClass('err');
};
});
});