![]() |
|
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 |
|
Newbie
Join Date: Feb 2005
Posts: 13
Rep Power: 0
![]() |
function sortAsc(sub,dtype)
{
var tmpArr=new Array();
var arrQa=new Array();
for(i=0;i<arr.length;i++)
{
tmpArr[i]=arr[i][sub];
arrQa[i]=arr[i][1];
seq[i]=i;
}
var tmp;
var tmp1;
for(j=0;j<tmpArr.length;j++)
{
for(k=0;k<tmpArr.length-1;k++)
{
if(dtype=='i')
{
if(parseInt(tmpArr[k])>parseInt(tmpArr[k+1]))
{
tmp=tmpArr[k+1];
tmpArr[k+1]=tmpArr[k];
tmpArr[k]=tmp;
tmpQa=arrQa[k+1];
arrQa[k+1]=arrQa[k];
arrQa[k]=tmpQa;
tmp1=seq[k+1];
seq[k+1]=seq[k];
seq[k]=tmp1;
}
else if(parseInt(tmpArr[k])==parseInt(tmpArr[k+1]))
{
if(arrQa[k]>arrQa[k+1])
{
tmp=tmpArr[k+1];
tmpArr[k+1]=tmpArr[k];
tmpArr[k]=tmp;
tmpQa=arrQa[k+1];
arrQa[k+1]=arrQa[k];
arrQa[k]=tmpQa;
tmp1=seq[k+1];
seq[k+1]=seq[k];
seq[k]=tmp1;
}
}
}
if(dtype=='s')
{
if(tmpArr[k]>tmpArr[k+1])
{
tmp=tmpArr[k+1];
tmpArr[k+1]=tmpArr[k];
tmpArr[k]=tmp;
tmpQa=arrQa[k+1];
arrQa[k+1]=arrQa[k];
arrQa[k]=tmpQa;
tmp1=seq[k+1];
seq[k+1]=seq[k];
seq[k]=tmp1;
}
else if(tmpArr[k]==tmpArr[k+1])
{
if(arrQa[k]>arrQa[k+1])
{
tmp=tmpArr[k+1];
tmpArr[k+1]=tmpArr[k];
tmpArr[k]=tmp;
tmpQa=arrQa[k+1];
arrQa[k+1]=arrQa[k];
arrQa[k]=tmpQa;
tmp1=seq[k+1];
seq[k+1]=seq[k];
seq[k]=tmp1;
}
}
}
if(dtype=='d')
{
var d1=new Date(tmpArr[k]);
var d2=new Date(tmpArr[k+1]);
if(d1>d2)
{
tmp=tmpArr[k+1];
tmpArr[k+1]=tmpArr[k];
tmpArr[k]=tmp;
tmpQa=arrQa[k+1];
arrQa[k+1]=arrQa[k];
arrQa[k]=tmpQa;
tmp1=seq[k+1];
seq[k+1]=seq[k];
seq[k]=tmp1;
}
else if(d1.valueOf()==d2.valueOf())
{
if(arrQa[k]>arrQa[k+1])
{
tmp=tmpArr[k+1];
tmpArr[k+1]=tmpArr[k];
tmpArr[k]=tmp;
tmpQa=arrQa[k+1];
arrQa[k+1]=arrQa[k];
arrQa[k]=tmpQa;
tmp1=seq[k+1];
seq[k+1]=seq[k];
seq[k]=tmp1;
}
}
}
}
}
maketable();
}This is where the table is built: function maketable(edit)
{
str="<table width='100%' cellspacing='1' cellpadding='2' border='1' align='center'>"+
"<tr bgcolor='#ececec'bordercolor='#cccccc'>"+
"<td align='left'><a href='#' onclick=\"sortAsc(0,'s')\" title='Sort by ID'><font face='verdana' size=1>ID</font></a></td>" + // The Contract ID (e.g. 244)
"<td align='left'><a href='#' onclick=\"sortAsc(1,'s')\" title='Sort by Airline'><font face='verdana' size=1>A/L</font></a></td>"+ // The Airline Code (e.g. AF)
"<td align='left'><a href='#' onclick=\"sortAsc(2,'s')\" title='Sort by Contract Code'><font face='verdana' size=1>Contract Code</font></a></td>"+ // The Contract Code
"<td align='left'><a href='#' onclick=\"sortAsc(3,'s')\" title='Sort by Remark'><font face='verdana' size=1>Remark</font></a></td>"+ // The Remark
"<td align='left'><a href='#' onclick=\"sortAsc(4,'s')\" title='Sort by Status'><font face='verdana' size=1>Status</font></a></td>"+ // The Status (e.g. Confirmed)
"<td align='left'><a href='#' onclick=\"sortAsc(5,'s')\" title='Sort by Date Loaded'><font face='verdana' size=1>Date Loaded</font></a></td>"+ // Date Loaded (05-MAR-2005)
"<td align='left'><a href='#' onclick=\"sortAsc(6,'s')\" title='Sort by Expiry Date'><font face='verdana' size=1>Expiry Date</font></a></td>"+ // Expiry Date
"<td align='left'><a href='#' onclick=\"sortAsc(7,'s')\" title='Sort by Contract Title'><font face='verdana' size=1>Contract Title</font></a></td>"+ // The Contract Title
"</tr>"
var curdes="<%=curdes%>";
for(i=0;i<seq.length;i++)
{
f=seq[i];
regsel="";
norsel="";
optsel="";
trasel="";
buttval="";
callfunc="";
stxt="";
saux="";
if(arr[f][12]!="")
{
saux+=arr[f][12].toUpperCase( );
}
if(arr[f][13]!="")
{
saux+=".";
saux+=arr[f][13].toUpperCase( );
}
if(arr[f][10].toUpperCase( )=="REPEAT")
{
regsel="selected";
stxt="Repeat";
}
else
{
norsel="selected";
stxt="TEST";
}
if(edit==true)
{
txvis="hidden";
txpos="absolute"
opvis="visible";
oppos="";
buttval="Update";
callfunc="update_regtrip()";
}
else
{
txvis="visible";
txpos="";
opvis="hidden";
oppos="absolute";
buttval="Edit";
callfunc="maketable(true)";
}
statustxt="<div style='visibility:" + txvis + ";position:" + txpos + "'><font face='verdana' size='1'>" + stxt +"</font></div>"
statustxt+="<div style='visibility:" + opvis + ";position:" + oppos + "'><input type='hidden' name='trip" + i + "' value='" + arr[f][1] + "' ><select name='tripstat" + i + "'><option value='Repeat'" + regsel + ">Repeat</option><option value='Confirmed' " + norsel + ">Confirmed</option><option value='Option' " + optsel + ">Option</option><option value='Trash' " + trasel + ">Trash</option></select></div>"
str+="<tr bgcolor='#ececec' bordercolor='#cccccc'>"
str+="<td align='left'>"+
"<font face='verdana' size='1'>"+
"<a href='display_fare_search2.asp?air_cds="+ arr[f][1] +"&contract_id="+ arr[f][0] +"&contract_title="+arr[f][7]+"'>" + parseInt(arr[f][0]) + "</a></font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][1] + "</font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][2] + "</font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][3] + "</font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][4] + "</font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][5] + "</font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][6] + "</font></td>"+
"<td align='left'><font face='verdana' size='1'>" + arr[f][7] + "</font></td>"
str+="</tr>"
///////////////////////////////////////////
// Array Values
//alert (arr[f][0]) Contract ID
//alert (arr[f][1]) Airline Code
//alert (arr[f][2]) Contract Code
//alert (arr[f][3]) Remark
//alert (arr[f][4]) Status
//alert (arr[f][5])// Date Loaded
//alert (arr[f][6]) Date Expiry
//alert (arr[f][7]) Contract Title
///////////////////////////////////////////
}
str+="<tr><td></td></tr></table>"
document.all.tt.innerHTML=str;
}The problem I am having is that when i sort an NUMBERS it sorts it like this 1 11 101 103 etc.... But i need 1 2 3 4 5 etc... How can i sort it to stop this? |
|
|
|
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|