Проблема в том, что по умолчанию для всех обработчиков, связанных с выполнением ajax запроса, в качестве контекста выступает объект с настройками текущего запроса.
Код ...
$.ajax({
type: "POST",
url: "/obr.php",
data: {
ID: ID,
},
success: function(msg){
$(this).html("Добавлен");
BX.onCustomEvent('OnBasketChange');
}
});
});
...
Вариантов откорректировать данное поведение может быть несколько:
Передать требуемый контекст в произвольный параметр запросаКод $('a.btn_add').on('click', function() {
var ID = $(this).data('id');
$.ajax({
type: "POST",
url: "/obr.php",
callee: this,
data: {
ID: ID,
},
success: function(msg){
var oCallee = $(this).dialog('option', 'callee');
oCallee.html("Добавлен");
BX.onCustomEvent('OnBasketChange');
}
});
});
Использовать для этого параметр ajax метода context http://jquery.page2page.ru/index.php5/Ajax-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81 Задать для каждой ссылки уникальный ID и использовать в обработчиков его