Как правильно передать данные по data-target?
Здравствуйте!
Хочу передать данные в кнопку по data-target и все работает, но если кнопки имеют одинаковый ID то данные передадуться только в одну кнопку. А как передавать независимо от дублей, не понимаю и не пойму)) Подскажите пожалуйста, как решить...
$(options).each(function() {
//console.log($(this).parents('.form-group').find('label'));
str_opts += $(this).parents('.form-group').find('label').eq(0).text().trim();
str_opts += ": ";
str_opts += $(this).parent('label').text().trim();
str_opts += "<br/>";
// console.log(str_opts);
var pre = $(this).data('prefix');
var price = parseFloat($(this).data('price'));
if (pre.length != 0 && isNaN(price) == false) {
switch (pre) {
case '-':
total -= price;
break;
case '+':
total += price;
break;
case '=':
total = price;
break;
case '*':
total *= price;
break;
case '/':
total /= price;
break;
case 'u':
total = total + (($total * price) / 100);
break;
case 'd':
total = total - ((total * price) / 100);
break;
default:
break;
}
}
});
$("button[data-target='#" + btn_id + "'").html(str_opts);
console.log(str_opts);
|
Alexprom,
для однотипных элементов используют class, а не id. и тогда достаточно указать индекс нужного элемента, без всяких data-target |
Цитата:
$("div[class='" + btn_id + "'").html(str_opts);
Если да, то так не работает( |
Alexprom,
$("div.class").eq(btn_index).html(str_opts); |
Цитата:
<div class="btn_index-{{ modal_id }}"></div>
$("div.class").eq(" + btn_index + ").html(str_opts);
Все равно не работает.. |
Цитата:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.red {
background-color: #FF0000;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function() {
const btn = $('div.btn'),
test = $('button.test');
test.on('click', function() {
const index = test.index(this);
btn.eq(index).toggleClass('red');
})
});
</script>
</head>
<body>
<button class="test">01 click me</button>
<button class="test">02 click me</button>
<button class="test">03 click me</button>
<button class="test">04 click me</button>
<button class="test">05 click me</button>
<div class="btn">1</div>
<div class="btn">2</div>
<div class="btn">3</div>
<div class="btn">4</div>
<div class="btn">5</div>
</body>
</html>
|
Цитата:
или какой? Я скину все что нужно |
Alexprom,
не могу помочь, проблема слабо локализована, всё что мог, код выше. |
Цитата:
На ваш код выше я смотрел, немного разобрался, но как прикрутить тот ID что идет в data-target тупо не знаю. У меня получилось только присвоить класс если выбраны нужные опции через метод change и все. Вместо присвоения класс, я поставил .html(str_opts) и все получилось но не совсем)) каждому диву btn я присвоил одинаковые параметры. А они должны исходить с + btn_id +
{% if (options) %}
<div class="dm-com-vd-button-1"><button type="button" class="btn btn-primary open-options" data-toggle="modal" data-target="#sets-popup-{{ modal_id }}">{{ text_sets_options }}</button></div>
{% endif %}
И тут я засыпался... |
Alexprom,
в вашем коде я не разобрался, но двух одинаковых id на одной странице не должно быть. это всё, что на данный момент, я могу вам сказать. |
| Часовой пояс GMT +3, время: 21:14. |