Как передать одно data-attribute значение другому?

У меня есть следующий вход:

<input type="radio" class="d-none" name="varieties" value="option_0" data-price-package-value-id-0="2 625">

Где мне нужно передать значение data-price-package-value-id-0 следующему элементу:

<li id="front_0" data-value="1 625">

Предварительный просмотр изображения

Вот JavaScript, который у меня есть:

// Radio buttons prise
$(document).ready(function(){
    $('input[name="varieties"]:checked').change(function() {
        var package_select = this.attr('data-price-package-value-id-0');

        var dataval = document.getElementById("0").attr('data-value');
        dataval = package_select;
    });
});

У меня также есть вход диапазона, который уже извлекает значение из li, это уже работает, но в другой функции,

Теперь у меня есть задача передать значение с радио на ли

0
Сергей Гончарь-Лысенко 3 Мар 2018 в 02:25

3 ответа

Лучший ответ

Во-первых, вы, вероятно, не должны использовать идентификаторы, которые начинаются с цифры, так как это затрудняет выбор в CSS и jQuery, но здесь вы идете:

$(document).ready(function(){
    $('input[name="varieties"]').change(function() {
        var package_select = $(this).attr('data-price-package-value-id-0');
        $(document.getElementById("0")).attr('data-value', package_select );
    });
});
0
Xhynk 3 Мар 2018 в 00:12

const element = document.getElementById('front_0'); element.setAttribute('data-value', 'my spectacular new value');

0
ShaneDaugherty 3 Мар 2018 в 01:07

attr() - это метод jQuery. Если вы хотите сделать это с ванильным JavaScript, то вы захотите использовать

this.getAttribute('data-price-package-value-id-0')
this.setAttribute('data-price-package-value-id-0', newValue)

Если вы хотите использовать jQuery, используйте

$(this).data('price-package-value-id-0') //getter
$(this).data('price-package-value-id-0', newValue) //setter

Или вы можете использовать attr(), но не смешивайте использование attr() и data()

$(this).attr('data-price-package-value-id-0') //getter
$(this).attr('data-price-package-value-id-0', newValue) //setter
0
Taplar 2 Мар 2018 в 23:29