关于这种情况:
下面是一些由 php.ini 中的 foreach 循环生成的 html(评级星)。所以我有很多带有类的 div rating。$file_id是独一无二的,并且在每个 div 中都不同!
<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>
我的 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出现回声。但它应该只出现在点击了其中一颗评级星的 div 中。
我怎样才能做到这一点?
Qyouu