【发布时间】:2018-01-22 21:58:07
【问题描述】:
我正在使用 jQuery 数据表,并且正在开发内联编辑功能。我一直在尝试获得绿色检查以显示记录何时更新。
这是填充数据表的 ajax:
$.ajax({
url: 'api/massEditorSummary.php',
type: 'POST',
data: data,
dataType: 'html',
success: function(data, textStatus, jqXHR)
{
var jsonObject = $.parseJSON(data);
var table = $('#example1').DataTable({
"data": jsonObject,
"columns": [
{ "data": "partner_name" },
{ "data": "service" },
{
"data": "forecast",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
{
$(nTd).html("<input type='text' class='form-control editForecast'
id='editForecast' data-uid='"+oData.UID+"' data-editforecast='"+oData.forecast+"'
value='"+oData.forecast+"' style='width:75px; height:30px;' />
<span id='testID' style='display: none;'><i class='fa fa-check' id='updatedIcon' aria-hidden='true'
style='color:green;'> </i></span>");
}
}
],
"stateSave": true,
"autoWidth": false
});
},
error: function(jqHHR, textStatus, errorThrown)
{
// show fail stuff
}
});
如果您在“预测”数据列中注意到,我有一个 ID 设置为 testID 的跨度。这个跨度包括一个很棒的字体检查图标。我最初将其设置为显示:无。
现在我有了这个在 BLUR 事件上起作用的更新功能:
$('#example1').on('blur', 'tr > td > .editForecast', function(e)
e.preventDefault();
var uid = $(this).attr('data-uid');
var forecastcurval = $(this).attr('data-editforecast');
var forecastnewval = $(this).val();
var forecastData = '';
$.post('api/inlineEditProcess.php', {uid:uid, forecastcurval:forecastcurval, forecastnewval:forecastnewval}, function(data)
{
forecastData = data;
callForecastFunction(forecastData);
});
function callForecastFunction(forecastData)
{
if(forecastData == "Success")
{
$(this).css('display', 'inline-block'); // this is where I want to show the check
}
else
{
// do fail stuff
}
}
});
您将在 callForecastFunction 函数中看到,如果从流程脚本返回的数据等于“成功”,则显示检查。
【问题讨论】:
-
那么你是说
span id='testID']在每一行都重复了? html 中的重复 ID 属性无效。 -
是否有错误信息或没有任何反应?我会 console.log
forecastData和this确认它们是你认为的那样。 -
发帖的专业提示:尽量让您的问题保持简洁。你的一些问题没有得到很好的接受,这可能是由于一些细节和其他闲聊材料,在你看来是礼貌的,但实际上可能被解释为恭顺、阿谀奉承或乞求和恳求。这包括感谢,高级感谢,请帮助我,帮助我,卡住 X 天,我真的有谷歌搜索,希望它很清楚,让我知道 - 如果-需要看到更多的东西,它真的很感激,等等。经验丰富的帮助者宁愿只是阅读问题的细节。
标签: javascript jquery css ajax datatables