問題があり、古い値がどこから来ているのかわかりません。私が持っているのは、ユーザーが各返信に対して良いアドバイス、悪いアドバイスを評価できるフォーラムと返信のリストです。1 つをクリックすると、Java スクリプトが起動され、データベースが更新されます... 他のボタンが非表示になり、何かが起こったことを示します。私が問題に遭遇している場所は、最初のボタンは設計どおりに機能しますが、他のすべてのボタンは次のクリック イベントの値 (既に投票した場所でスクリプトが応答する) だけでなく、以前にクリックされたすべての値を渡しています。4 つの異なる投稿に投票すると、4 つの値すべてが投稿され、3 つが既に投票済みであることを示します。以前のクリック イベントの値を消去するにはどうすればよいですか?
<script>
function doGABAbad(forum_post_id,type){
$(".badadviceclick").click(function(){
var element = $(this);
var I = element.attr("id");
var info = 'id=' + I;
$("#gaba_float_right").html('<img src="loader.gif"/>').show();
$.post('updateGABA.php', {forum_post_id: forum_post_id,type: type}, function(data){
if(isNaN(parseFloat(data))){
alert(data);
}else{
$('#'+forum_post_id+'_'+type+'s').text(data);
}
$('#goodadvice'+I).fadeOut(200).show();
});
});
}
</script>
<script>
function doGABAgood(forum_post_id,type){
$(".badadviceclick").click(function(){
var element = $(this);
var I = element.attr("id");
var info = 'id=' + I;
$("#gaba_float_right").html('<img src="loader.gif"/>').show();
$.post('updateGABA.php', {forum_post_id: forum_post_id,type: type}, function(data){
if(isNaN(parseFloat(data))){
alert(data);
}else{
$('#'+forum_post_id+'_'+type+'s').text(data);
}
$('#badadvice'+I).fadeOut(200).show();
});
});
}
</script>
ここで Div を構築しています
<div id="goodadvice'.$forum_post_id.'">
<a id="'.$forum_post_id.'" class="badadviceclick" href="#" onClick="return false" onmousedown="javascript:doGABAgood('.$forum_post_id.',\'goodadvice\');">Good Advice '.$good_advice.'</a>
</div>
<div id="badadvice'.$forum_post_id.'">
<a id="'.$forum_post_id.'" class="badadviceclick" href="#" onClick="return false" onmousedown="javascript:doGABAbad('.$forum_post_id.',\'badadvice\');">Bad Advice '.$bad_advice.'</a>
</div>