想請教前端的大大這個應該是很基本的問題
一開始在頁面上列出很多個items,每個item會有一個加入的按鈕
點了加入之後,就會透過ajax去call api在後端db紀錄下來
到這邊都沒什麼問題
但是想在前端把剛剛item的加入按鈕變成不能點,文字也變成已加入
code snippet像這樣
$('.btn-add-favorite').click(function(event) {
axios.post('/favorite/add', {
itemId: $(this).data("item-id")
})
.then(function (response) {
// handle success
$(this).attr('disabled', true);
$(this).html('已加入');
})
.catch(function (error) {
// handle error
});
});
不過顯然在success那邊用this不會是同樣的node
通常這種應用要怎麼找到原本的node呢?
目前想到的作法,就是每個item塞一個unique id
進到click後把id用變數存下來
success那邊再用dom把這個id找出來處理
不知道比較好的作法是什麼呢?
P.S. 我在ptt或facebook上找不太到適合討論這類問題的板,有推薦的討論區嗎...
這個問題keyword不知道要下什麼, stack overflow上不知道怎麼找 T_T