0
いいえ、クリックすると、指定したdivのクラスが変更されます。問題は、変数(回答)に文字列 "No"が含まれていない場合にのみ、これが発生することです。これはうまくいきますが、変数に "いいえ"という単語が含まれていなくても、コードは実行されません。 ajaxの結果には、「No User ID」または「User ID:#」のいずれかが含まれます。変数に文字列が含まれているとjQueryが実行されます
$(document).ready(function() {
$('.like').on('click', function() {
postID = $(this).attr('id').replace('like_', '');
// Declare variables
value = '1';
myajax();
return false;
var doit = answer.IndexOf("No");
if (doit < 0){
$('#post_' + postID).removeClass('dislike').addClass('like');
}
});
function myajax(){
// Send values to database
$.ajax({
url: 'check.php',
//check.php receives the values sent to it and stores them in the database
type: 'POST',
data: 'postID=' + postID + '&value=' + value,
success: function(result) {
answer = result;
$('#Message_' + postID).html('').html(result).prependTo('#post_' + postID);
}
});
}
});
だから私の問題はvar doitにあります。私は何が間違っているのか分かりません。
おそらく 'var answer = result;'は良いでしょうか?または単に 'result.indexOf(" No ")'?また、それは 'indexOf'の小文字の' i'だと思います。 –
はいとはい、更新 – Jason
このソリューションは動作しません。なぜなら、ajaxは関数内に存在するからです。私は同じ機能を実行するが、変数を別々に設定する別のボタン(嫌い)を持っています。 indexOfを私のAjaxの中に置くと、どのボタンがクリックされたかを区別することはできません。 – Sweepster