Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery数据表在更新第2部分后向单元格添加CSS_Javascript_Jquery_Css_Datatables - Fatal编程技术网

Javascript jQuery数据表在更新第2部分后向单元格添加CSS

Javascript jQuery数据表在更新第2部分后向单元格添加CSS,javascript,jquery,css,datatables,Javascript,Jquery,Css,Datatables,这是一项后续行动 我需要做的是只有在进程成功更新记录后才给单元格上色 $('#example1').on('blur', 'tr > td > .editForecast', function(e) { e.preventDefault(); var forecastnewval = $(this).val(); var processData = ''; if(this.value !== $(this).attr('value')) { $.pos

这是一项后续行动

我需要做的是只有在进程成功更新记录后才给单元格上色

$('#example1').on('blur', 'tr > td > .editForecast', function(e) 
{
  e.preventDefault();
  var forecastnewval = $(this).val();
  var processData = '';

  if(this.value !== $(this).attr('value'))
  {
    $.post('api/inlineEditProcess.php', {forecastnewval:forecastnewval}, function(data)
    {
     processData = data; // this is what I'm trying to get now
     console.log('this is inside ' + processData); // this prints processData
    }

    console.log('this is outside ' + processData); // this does not print processData

    $(this).css('background-color', '#99FF66'); // this changes the background color of the cell
  }
  else
  {
    console.log('nothing changed');
  }
});
如果您注意到上面的代码,我正试图从$.POST内部检索变量processData,并在另一个If/ELSE语句中使用它

变量processData将是一个读取“成功”或“失败”的字符串。这显然来自一个PHP进程脚本,该脚本运行一个更新查询,然后返回指定的单词

我想在IF/ELSE中使用processData,它将单元格的背景颜色更改为绿色(表示成功)或红色(表示失败)

我只想检索从$.POST中创建的变量


我可以这样做吗?如果可以,怎么做?

您的变量
processData
包含在函数中,因此在函数外部求值时将返回
null

$('#示例1').on('blur','tr>td>.editfecast',函数(e){
e、 预防默认值();
var forecastnewval=$(this.val();
var processData=“”;
if(this.value!=$(this.attr('value')){
$.post('api/inlineEditProcess.php'{
forecastnewval:forecastnewval
},函数(数据){
processData=data;//这就是我现在想要得到的
});
console.log(processData);//这不会打印processData
$(this.css('background-color','#99FF66');//这会更改单元格的背景色
}否则{
log(“未更改”);
}

});
如果在post函数外部声明变量
processData
,它应该可以工作。您现在可能要打印undefined,因为您在函数的作用域内声明了变量I更新了代码。请参阅console.logs-我只能从文章内部打印processData。我无法在帖子之外访问它。想法?是的,
post
功能未正确关闭。在我的回答中结束了。