sidebar 隐藏/显示
<SCRIPT LANGUAGE="JavaScript">
function checkAll(field)
{
for (i = 0; i < field.length; i++)
field[i].checked = true ;
}

function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
field[i].checked = false ;
}
</script>
在html里,code如下:
<form name=viewForm action="/pdmvpm/QueueViewServlet" method="post"> 
<input name="msgId" value=msgId type="checkbox">

<a href="#" onclick="checkAll(document.viewForm.msgId); return false;">all</a>

<a href="#" onclick="uncheckAll(document.viewForm.msgId); return false;">none</a> 

上次提到过对表格内容进行排序的javascript程序,今天发现日期排序有个小问题。

http://www.kryogenix.org/code/browser/sorttable/ 里给的程序里,日期的排序仅只限于dd-mm-yyyy或者dd.mm.yyyy的格式。但我目前需要排序的日期是应用在queue里的,也就说每分钟可能会有几十条或者几百条messages进来,这样时间就会精确到秒。

而且从(new Date(msg.getJMSTimestamp())).toLocaleString() 得到的date格式为dd:mm:yyyy hh:mm:ss,所以就要对js程序进行修改。

首先将date格式定义为:

sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)(\s)(\d\d?)[\/\:](\d\d?)[\/\:](\d\d?)$/;

关于格式的定义可以参考RegExp的定义。

其次在 sort_ddmm: function(a,b) block 里在 if (dt1==dt2){ 条件后添加对hh,mm,和ss的判断。

修改好了的程序我放到这里了。

唔,到现在还没想好怎么识别多种格式的日期,否则这个程序只能对这种日期进行排序,实在不是很灵活啊。

之前一直在考虑queue的单一message的删除问题,发现根据“first come first out”的机制,删除操作结束后,queue里的消息排列顺序已经被打乱了。本想利用servlet来解决排序问题,但发现只能以单一的升降顺序排列,而且代码和服务器端资源也开销不少(迷:根本就是你懒得写)。后来突然想到,这种排序问题好像可以用javascript解决,完全可以把部分计算转移到client端,无需再占用server端的资源。

再次请教万能的GG大神~找到如下两个程序

程序一:  sorttable: Make all your tables sortable

链接:http://www.kryogenix.org/code/browser/sorttable/

 

程序二: Standardista Table Sorting (A client-side JavaScript Table Sort module)

链接: http://www.workingwith.me.uk/articles/scripting/standardista_table_sorting

 

用法都一样,先在自己的html网页的<head>部分指定需要插入的javascript library,指定格式为: 

<script type='text/javascript' src='sorttable.js'></script>

接着在需要进行排序的table里设置class

table class="sortable" 
具体设置过程和适用的浏览器见链接网页。 
共1页 1