0

ユーザーが要素をクリックしたときに投票データベースを更新する AJAX リクエストが機能しています。要素の cc が変更され、表示される投票数が更新されます。

これが私のJSの一部です

function voteSuccess(data, textStatus, jqXHR) {
    $("#"+postId).addClass('red').removeClass('blankUpVote'); //CSS Element

    $('#vote'+postId).html(data); //amount of votes is updated
}

wherepostIdは前の要素の this.id として宣言されています。識別子を設定しようとしています

$("#"+postId)

$("#post"+postId)

テンプレートの対応する要素のIDをに変更します

id="post{{ post.pk }}"

から

 id="{{ post.pk }}"

しかし、うまくいきません!実行すると例外が発生"ValueError: invalid literal for int() with base 10: 'upVote12'"します。

投票数が更新される 2 番目の部分は、同じ方法で設定され、機能します。識別子の場所

$('#vote'+postId)

テンプレート内の対応する要素の id は

id = "vote{{post.pk}}"

それを理解することはできません!post.pkテンプレートで同じ変数を使用する投稿コンテナー内の他の ID とは異なるように、ID に文字列を追加する必要があります。

2 番目の識別子では機能しますが、最初の識別子では機能しません。誰が何が起こっているのか知っていますか?

ありがとう

4

0 に答える 0