Ответ 1
Все context
делает, это устанавливает значение this
в обратных вызовах.
Итак, если вы находитесь в обработчике событий и хотите, чтобы this
в обратных вызовах был элементом, который получил событие, вы должны:
context:this,
success:function() {
// "this" is whatever the value was where this ajax call was made
}
Если вы хотите, чтобы это был какой-то другой тип, просто установите это, и this
будет ссылаться на это:
context:{some:'value'},
success:function() {
// "this" the object you passed
alert( this.some ); // "value"
}
В коде, добавленном к вопросу, вы можете использовать StateID
, но вам не понадобится, поскольку у вас уже есть доступ к этой переменной.
var StateID = $(this).parents('tr').attr('id');
$.ajax({
url: 'Remote/State.cfc'
,data: {
method:'Delete'
,'StateID':StateID
}
,context: StateID
,success: function(result){
alert(this); // the value of StateID
alert(StateID); // same as above
if (result.MSG == '') {
$('#' + result.STATEID).remove();
} else {
$('#msg').text(result.MSG).addClass('err');;
};
}
});