{ field: 'actionId', title: "操作", formatter: function (value, row, index) { return "<a href='javascript:void(0)' onclick='makeTrueTime(" + value + "," + JSON.stringify(row) + "," + index + ")'>确认收货</a> " } },{field: 'receiptConfimDate', width:250,title:"收货确认日期"}, function makeTrueTime(value, row, index) { debugger; row.receiptConfimDate = formatDate(new Date()); $('#Business_entryDetail_show_datagrid').datagrid('refreshRow',index) }列上没有刷新成功的原因
时间: 2024-04-03 18:31:48 浏览: 67
根据提供的代码,可以看出 `makeTrueTime` 函数是在点击"确认收货"链接时触发的。该函数会将当前日期格式化后赋值到 `row.receiptConfimDate` 字段,并调用 `$('#Business_entryDetail_show_datagrid').datagrid('refreshRow',index)` 方法刷新当前行的数据。
如果该列没有刷新成功,有以下几个可能的原因:
1. `makeTrueTime` 函数没有正确地执行。可以在函数中添加 `console.log` 或者 `alert` 来检查函数是否被正确地触发,并检查函数中的语法是否正确。
2. `$('#Business_entryDetail_show_datagrid')` 选择器没有正确地选中表格。可以在浏览器控制台中输入该选择器,检查是否能够正确地选中表格。
3. `refreshRow` 方法没有正确地刷新当前行的数据。可以检查该方法的语法是否正确,或者尝试使用其他的刷新方法。
相关问题
field: 'actionId', title: "操作", formatter: function (value, row, index) { console.log(row) if(row.entryStatus == 50041002){ return '<a href="javascript:void(0);" class="easyui-linkbutton" onclick="showBookEntry(' + value + ','+row+','+index+')">查看</a>';row在方法里为【object,object】
在你的代码中,你正在尝试将整个 row 对象作为参数传递给 showBookEntry 方法。但是,当你在行内调用 showBookEntry 方法时,传递的参数必须是一个字符串,因此你需要将 row 对象转换为字符串,例如使用 JSON.stringify() 方法,如下所示:
```
function (value, row, index) {
console.log(row);
if (row.entryStatus == 50041002) {
return '<a href="javascript:void(0);" class="easyui-linkbutton" onclick="showBookEntry(' + value + ',' + JSON.stringify(row) + ',' + index + ')">查看</a>';
}
}
```
在上面的示例中,我们将 row 对象通过 JSON.stringify() 方法转换为一个字符串,然后将其作为参数传递给 showBookEntry 方法。这将确保参数以字符串形式正确地传递给 showBookEntry 方法。
{ field: 'actionId', title: "操作", formatter: function (value, row, index) { return "<a href='javascript:void(0)' onclick='makeTrueTime(" + value + "," + JSON.stringify(row) + "," + index + ")'>确认收货</a> " } },{field: 'receiptConfimDate', width:250,title:"收货确认日期"},把当前时间设置到receiptConfimDate列上
根据提供的代码,可以看出 `makeTrueTime` 函数是在点击"确认收货"链接时触发的。该函数会将当前日期格式化后赋值到 `row.receiptConfimDate` 字段,并调用 `$('#Business_entryDetail_show_datagrid').datagrid('refreshRow',index)` 方法刷新当前行的数据。
因此,要将当前时间设置到 `receiptConfimDate` 列上,可以按照以下步骤进行:
1. 点击"确认收货"链接时,`makeTrueTime` 函数会被触发。可以在函数中将当前时间格式化,然后赋值给 `row.receiptConfimDate` 字段。例如:
```
function makeTrueTime(value, row, index) {
row.receiptConfimDate = formatDate(new Date());
$('#Business_entryDetail_show_datagrid').datagrid('refreshRow', index);
}
```
其中 `formatDate` 函数是将日期格式化的自定义函数。如果没有定义该函数,可以使用以下代码:
```
function formatDate(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
}
```
2. `$('#Business_entryDetail_show_datagrid').datagrid('refreshRow', index)` 方法会刷新当前行的数据,使得 `receiptConfimDate` 列上显示最新的时间。
阅读全文