tornado的分页的实现:
html方面:
<div id="paging" >
<ul class="pagination">
<li><a id="paging_left" >«</a></li>
<li><a class="paging" οnclick="">1</a></li>
<li><a class="paging" οnclick="">2</a></li>
<li><a class="paging" οnclick="">3</a></li>
<li><a class="paging" οnclick="">4</a></li>
<li><a class="paging" οnclick="">5</a></li>
<li><a id="paging_right" >»</a></li>
</ul>
</div>
js方面:
var _TheArray = new Array;
$('#paging_right,#paging_left').click( function (){
if(this.id=="paging_left")
step=-5;
else if(this.id=="paging_right")
step=5;
navigate_control(step);
});
$('#first_page').click(function(){
loadXMLDoc("http://localhost:9000/leave_detailajax?lastpage=0&index=1"+"&comfirm="+comfirm+"&name="+name+"&superiorStyle="+superiorStyle);
}
);
$('#switch').click(function(){
var switch_value=$('#switch_value').val();
loadXMLDoc("http://localhost:9000/leave_detailajax?lastpage=0&index="+switch_value+"&comfirm="+comfirm+"&name="+name+"&superiorStyle="+superiorStyle);
}
);
$('#last_page').click(function(){
loadXMLDoc("http://localhost:9000/leave_detailajax?lastpage=1"+"&comfirm="+comfirm+"&name="+name+"&superiorStyle="+superiorStyle);
}
);
navigate_control();
function navigate_control(step){
if(!step) step=0;
pagings=document.getElementsByClassName("paging");
for(j=0;j<pagings.length;j++){
pagings[j].innerHTML=parseInt(pagings[j].innerHTML)+step;
if (pagings[j].innerHTML<1) {
pagings[j].innerHTML=parseInt(pagings[j].innerHTML)-step;
break;
}
_TheArray[j]="http://localhost:9000/leave_detailajax?lastpage=0&index="+parseInt(pagings[j].innerHTML)+"&comfirm="+comfirm+"&name="+name+"&superiorStyle="+superiorStyle;
}
pagings[0].setAttribute("onclick","loadXMLDoc(_TheArray[0])");
pagings[1].setAttribute("onclick","loadXMLDoc(_TheArray[1])");
pagings[2].setAttribute("onclick","loadXMLDoc(_TheArray[2])");
pagings[3].setAttribute("onclick","loadXMLDoc(_TheArray[3])");
pagings[4].setAttribute("onclick","loadXMLDoc(_TheArray[4])");
}
ajax方面:
function loadXMLDoc(url)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("leavedetail").innerHTML=xmlhttp.responseText;
/*下面是响应后进行的js操作:
leave_type_id=["0","1"];
leave_type_name=["事假","病假"];
status_id=["0","1"];
status_name=["未确认","确认"];
toggle(leave_type_id,leave_type_name,"leave_type");
toggle(status_id,status_name,"status");
var arr_leave_time_begin=document.getElementsByName("leave_time_begin");
var arr_leave_time_end=document.getElementsByName("leave_time_end");
var arr_daynum=document.getElementsByName("day_num");
var comfirmButtons=document.getElementsByName("comfirmButton");
var uncomfirmButtons=document.getElementsByName("uncomfirmButton");
var deleteButtons = document.getElementsByName("deleteButton");
var reaonforleaves=document.getElementsByName("reaonforleave");
if(superiorStyle == "0"){
if(comfirm == "1"){
disabletags(comfirmButtons);
disabletags(deleteButtons);
disabletags(uncomfirmButtons)
}
else{
disabletags(comfirmButtons);
disabletags(uncomfirmButtons)
}
}
else{
if(comfirm == "1"){
disabletags(comfirmButtons);
disabletags(deleteButtons);
}
else
disabletags(uncomfirmButtons)
}
Calculateleaveday(arr_leave_time_begin,arr_leave_time_end,arr_daynum);
for(i=0;i<reaonforleaves.length;i++){
var lenReasonforLeaves=reaonforleaves[i].innerHTML;
if(String(lenReasonforLeaves).length>30)
reaonforleaves[i].innerHTML=String(lenReasonforLeaves).substring(0,30);
}
*/
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}