Сообщение от sty-wolf
|
получается вот это нужно загнать в цикл?
|
Зачем? Когда выбирается/удаляется товар, вот тогда требуется определить класс/текст кнопке. А страница загружается с кнопками по умолчанию, то есть с не выбранными, следовательно нужно только добавить класс/текст для тех, товары которых есть в корзине.
Вы бы вместо картинок html код кнопки выставили, и структуру корзины описали, достаточно было бы пути в ней к товарам.
Если объект/массив корзины или свойство объекта корзины содержащего товары всегда на странице есть, но может быть пустым, то сначала проверяется не пуст ли объект. В противном случае проверяется наличие корзины на странице, и если доступно, только тогда обход товаров в цикле, вернее их идентификаторов.
Например, пусть условно корзина cart всегда на странице и под свойством products содержит объект с товарами, в котором первичные свойства это их идентификаторы. Тогда:
var cart = {
products: {
'23': {
name: 'name',
count: 2
},
'67': {
name: 'name',
count: 2
}
}
};
var ids = Object.keys(cart.products); //получить идентификаторы товаров
if(ids.length) { //если есть товары в корзине
ids.forEach((id) => {
$('span[data-sb-id-button='+id+']').text('Удалить из корзины').closest('button').addClass('button-active') //пометить кнопку товара
})
}
Если товары, это массив объектов, в которых есть свойство содержащее идентификатор товара, то выбор несколько иной будет.