使用jQuery& AJAX从SQL数据库中检索数据。我正在考虑使用jqGrid(如果可能的话)。检索数据时,取决于其优先级和优先级。是否必须确认,它可以在每一行中显示3个选项中的1个:下拉框(要求用户选择其中的选项),提交按钮(确认已收到),或者可以说“无需要” ”。一般来说,它看起来如下图所示:
AJAX通话时间间隔为&将每30秒刷新一次。
当用户点击/选择它们时需要采取行动的项目会更新数据源和更新行及其响应和响应的日期时间。
可能有多行带有下拉框,也可能有多行带有提交按钮。一旦项目被响应(或者如果不需要任何内容),该消息将在下次刷新时消失(被过滤掉)。
其他信息 - 下拉列表中的项目与每行相同。此外,如果用户打开了下拉列表,则间隔将停止,然后在进行选择后重新启动(在下拉框打开时网格不应刷新)。
这样的事情可以使用jqGrid完成,还是使用其他jQuery插件更好/更容易完成,还是应该用HTML(使用jQuery)完成?我很感激任何意见。
修改
我现在正在测试网格(仅显示数据)以查看它如何使用setInterval
。我使用下面的代码来设置间隔。
iLoad = setInterval(function(){
mytime = new Date();
mytime = new Date(mytime - 60000);
mytimeString = ('00'+(mytime.getHours())).slice(-2) +":"+('00' + (mytime.getMinutes())).slice(-2) + ":"+ ('00' + (mytime.getSeconds())).slice(-2) + "."+ ('000' + (mytime.getMilliseconds())).slice(-3);
var cday = new Date();
var curday = ('00'+(cday.getdate())).slice(-2);
var curmon = ('00'+(cday.getMonth())).slice(-2);
var curyr = cday.getFullYear();
var currdate = curyr +"-"+curmon+"-"+curday;
gridload(id, mytimeString, currdate);
}, 60000);
我注意到,第一次调用它时,网格在数据源上执行GET
,但之后,当间隔再次触发时,它不会执行新的GET
。我输入了一些日志显示,显示它正在调用该函数,但是网格代码中的显示(在loadComplete
中)仅在第一次触发。我发送的时间是因为我传递的时间参数在桌子上要求任何新东西,所以我希望每次都能触发它。
设置间隔的代码之前已获得相同的信息&把它放到HTML表中,所以我知道间隔是按照它应该的方式发射的。
我没有设置在网格上缓存或加载一次的任何内容。我错过了什么?为什么不在时间间隔内对数据进行后续GET
?
答案 0 :(得分:1)
是的,这可以使用jqGrid或其他数据网格选项来完成,例如SlickGrid。
使用jqGrid,您可以使用Custom Formatter对特定的自定义项进行所需的单元格。