0

Thumbs Upという PHP 投票スクリプトhttp://codecanyon.net/item/thumbsup/full_screen_preview/50411を使用しています。私はPHPに非常に慣れていませんが、投票の表示を除いて、すべてがうまく機能しています。

投票すると、データベースが更新され、投票数を更新するポストバックがあります。結果を表示する方法を複数試しましたが、NaN を返し続けます。ページをリロードすると、値が正常に表示されます。

クリック時に結果テーブルを読み込んで結果を返そうとしていますが、うまくいきません。をループして<li>、結果を配列に格納しています。

これは、値の代わりに NaN を返します。ページをリロードすると、値がそこにあり、更新されます。この問題の原因となっている php ポストバックに遅延があるようです。ajax 呼び出しに遅延を追加しようとしましたが、それでも NaN が返されます。

コード:

各結果を保存し、値を配列に保存しています

var resultVoteOne = voteOneDigit / total * 100;
var arrValues = [resultVoteOne]

結果を棒グラフで表示しています。

$('.extras_result p.vote1 span').append(arrValues[0] + '%');

$(".extras_result").each(function() {
    var length = $(this).find("span").html();
    $(this).find("p").animate({'width':length}, 1000, function() {
  $(this).find("span").fadeIn(800);
    });
});     

投票後にページをリロードすると、グラフが正常に更新されます。

クリックすると、ajaxを使用して値を更新しようとしましたが、まだ運がありません:(

$('.containers input').on('click', function() { 
    $.ajax({
    url:'results.php',
    cache:false,
    success: function(response) {
    $('.voteResults').html(response);
    }
    });
});

この問題について何か助けていただければ幸いです。

4

1 に答える 1

0

最初にajaxメソッドでasync:falseを使用してくださいこれで問題が解決する可能性があります表示する前にvoteRequestを空白にするだけです

$('.voteResults').html('');
$('.voteResults').html(response);

ajaxを介して来るものはすべて文字列に変換されるため、数値計算として使用する前にjavascriptで型キャストする必要があります。そうしないと、結果がNaNになります。

于 2013-02-10T21:52:12.067 に答える