ユーザーが要素をクリックしたときに投票データベースを更新する 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 番目の識別子では機能しますが、最初の識別子では機能しません。誰が何が起こっているのか知っていますか?
ありがとう