Это примерно такая ситуация:
Ниже приведены некоторые html (звездочки рейтинга), которые генерируются foreach l oop в php. Так что у меня много дел с классом rating
. $file_id
уникален и в каждом отдельном элементе!
<div class="rating" data-rating="<?php echo $round;?>">
<div class="rating-stars">
<a href="#5" class="click-trigger star-5" data-value="star-5" data-id="<?php echo $file_id; ?>" title="Vote 5 stars">★</a>
<a href="#4" class="click-trigger star-4" data-value="star-4" data-id="<?php echo $file_id; ?>" title="Vote 4 stars">★</a>
<a href="#3" class="click-trigger star-3" data-value="star-3" data-id="<?php echo $file_id; ?>" title="Vote 3 stars">★</a>
<a href="#2" class="click-trigger star-2" data-value="star-2" data-id="<?php echo $file_id; ?>" title="Vote 2 stars">★</a>
<a href="#1" class="click-trigger star-1" data-value="star-1" data-id="<?php echo $file_id; ?>" title="Vote 1 star">★</a>
</div>
<div class="rating-votes">
Average: <span id="count-avg"><?php echo $avg;?></span> Votes: <span id="count-total"><?php echo array_sum($count);?></span>
</div>
</div>
My jquery ajax выглядит следующим образом:
$('.click-trigger').on('click', function(e) {
e.preventDefault();
var value = $(this).data('value');
var file_id = $(this).data('id');
$.ajax({
url: 'counter.php',
type: 'POST',
data: {
value:value,
file_id:file_id
},
success: function(data){
$('.rating-votes').html(data);
}
});
});
И файл counter. php делает это эхо как обратный вызов:
echo '<div class="text-success">Thanks for voting!</div>';
Проблема: в каждом div с классом .rating-votes
появляется эхо. Но он должен отображаться только в том диве, на котором нажата одна из звезд рейтинга.
Как мне этого добиться?