我正在使用AJAX调用以JSON格式从PHP文件中接收一些数据,并且如果该数据的一部分是真的,我想更改元素的颜色。
我已经尝试过这样做(async:false
):
Submit form if ajax validator returns true using jquery
但它确实能够正常工作。
$.ajax({
url: 'preveri.php',
data: {
"row": row,
"col": col
},
type: 'GET',
dataType: 'json',
async: false,
success: function( data ){
var jsonstuff = data;
var trys = data.trys[0];
var result = data.result[0];
var finished = data.finished[0];
if (result == "true") {
$(this).attr("style", "background-color: green");
} else {
$(this).attr("style", "background-color: red");
}
}
});
我在AJAX调用之前尝试过使用它,所以它肯定有效:
$(this).attr("style", "background-color:red");
我还尝试用元素的ID替换this
,但它也没有用。我还尝试将result
作为全局变量,而不是在ajax之后调用if - else。
PHP中的JSON数据是:
$data = array();
$data['result'] = array($Result);
$data['trys'] = array($trys);
$data['finished'] = array($finished);
$myJSON = json_encode($data);
答案 0 :(得分:0)
首先你必须定义你$(这个)golbal并尝试下面的代码
var this_var =$(this);
$.ajax({
url: 'preveri.php',
data: {"row": row,"col": col},
type: 'GET',
dataType: 'json',
success: function( data ){
var jsonstuff = data;
var trys = data.trys[0];
var result = data.result[0];
var finished = data.finished[0];
if (result == "true") {this_var.css("background-color","green");} else {this_var.css("background-color","red");}}});