Zmiana elementów na stronie w jQuery

0

Witajcie,
Mam taką funkcję:


    function updateBaskket(productId, quantity) {
        $.ajax({
            type: 'GET',
            url: '/update-basket',
            dataType: "json",
            cache: false,
            data: {
                productId: productId,
                quantity: quantity
            },
            success: function (data) {
                $('.basket-summary-amount').html(data.summary + ',- zł');
                $('[data-item-price=productId]').val(123);
                console.log(data);
            }
        });
    }
    
        $('.quantity').on('change', function () {
            if($(this).attr("data-id") != undefined && $(this).val() != undefined){
                updateBaskket($(this).attr("data-id"), $(this).val());
            }
        });


Działa poprawnie i zwraca:

{"productId":"2","price":"1.35","totalProductPrice":"23.12","summary":"16604.67"}

Moim kluczem jest productId.

Chciałbym podmienić na stronie w oparciu o productId:

  1. data-item-price="2" => 5291.35 I zmienić wartość z 5291.35 na 1.35 (price)

  2. data-item-totalprice="2" => 15874.05,- zł </td> zmienić kwotę z 15874.05 na 23.12 (totalProductPrice)

W jaki sposób mogę to zrobić?

Na stronie mam różne elementy z data-id / data-item-price / data-item-totalprice ale z różnymi ID (productId)

Bardzo proszę o pomoc :)

0

Możesz pokazać więcej kodu HTML?
ProductId możesz umieścić w atrybucie elementu nadrzędnego (głównego) Twojego produktu na stronie, potem łatwo dojdziesz do jego składowych po id produktu.

0
złoty napisał(a):

Możesz pokazać więcej kodu HTML?
ProductId możesz umieścić w atrybucie elementu nadrzędnego (głównego) Twojego produktu na stronie, potem łatwo dojdziesz do jego składowych po id produktu.

https://pastebin.com/a3bQPqbV - tak to wygląda:)

3
const productId = 4;
const span = document.querySelector(`td.basket-item-name[data-id='${productId}'] .product-price`);
span.dataset.itemPrice = 66;
span.innerText = 'nowa cena';

1 użytkowników online, w tym zalogowanych: 0, gości: 1