Используете ли вы lib для обработки всплывающих окон, или вы используете пользовательский JS?
Если это пользовательский JS, есть много способов сделать это, одним из них является добавление атрибута «data-price» к вашему <tr>
, содержащему цену, и класса «price» к <span>
отметьте цену в вашем всплывающем окне.
Затем вы можете сделать это, например:
$('.box button').on('click', function(){
$('#popup1 .price').html($(this).parents('tr').first().data('price'));
}
);
Ваш HTML будет выглядеть так:
<link href="{{ asset('../web/main.css') }}" rel="stylesheet">
<h1>Products</h1>
<table border="1">
<tr>
<td>Name</td>
<td>Image</td>
<td>Brand</td>
<td>Category</td>
<td>URL</td>
<td>Shop</td>
</tr>
{% for product in products %}
<tr data-price='{{ product.price }}'>
<td>{{product.name}}</td>
<td><img src="{{product.image}}" ></td>
<td>{{product.brand}</td>
<td>{{product.category}}</td>
<td>{{product.url}}</td>
<td>{{product.shop}}</td>
<td><div class="box"><a class="button" href="#popup1">Create a price Alert</a></div>
</td>
<div id="popup1" class="overlay">
<div class="popup">
<h4>We will keep you updated</h4>
<h4>Actual Price</h2> <span class='price'>???</span><br> <a class="close" href="#">×</a>
<h4>Desired amount</h4><input type="text" name="montant_souhaite" ><br>
</div>
</div>
</tr>
{% endfor %}
</table>
Если вы используете библиотеку lib, посмотрите документацию, есть специальные функции обратного вызова, чтобы добавить в нее пользовательский процесс.