моя проблема в том, что когда я пытаюсь показать значение с помощью ajax-вызова, он показывает значение "generic", но когда я пытаюсь показать его в родительской строке, он ничего не показывает. вот мой код ajax
$.ajax({
type: 'POST',
url: 'http://localhost/medical/index.php/purchase/test',
data: 'data=' + pid,
success: function() {
$.get('http://localhost/medical/index.php/purchase/test', function(data) {
$(this).parents('tr').find('.generic').html(data); // doesn't show the value
$( ".generic" ).html(); // this show the value but in all table row
});
}});
Заранее спасибо
Проблема называется областью. this
в контексте анонимной функции означает нечто иное, чем внешнее. Вы можете сделать это так
var that = this;
$.ajax({
...
success: function() {
$.get(..., function(data) {
$(that).parents('tr').find('.generic').html(data);
});
}
});
function(){
в JavaScript,this
присваивается что-то новое (в этой области).