ローカルリフレッシュjsページングプラグイン
20061 ワード
(一)splitPage.jsページングプラグイン
直接copyで使えます
このプラグインは、呼び出す2つの方法を提供します.
方法一:splitPage(tableID,tableHeadName,tableData,checkboxRow) コア・メソッド:ローカル・リフレッシュ・ページング
方法2:getCheckedBox() アシストメソッド:ユーザーが選択したレコードidを綴った文字列を返す
splitPageパラメータの説明:
パラメータ
コメント
tableID
ユーザーがjspページに空の表を書いてid値を与える必要がある
tableHeadName
ヘッダーの内容(形式は「図書ID」、「図書名」)
tableData
データソース(バックグラウンドで調べたlistセット)[json文字列であってもよい][json文字列解析後のオブジェクト配列であってもよい]
checkboxRow
booleanタイプ:[true:表示マルチ選択ボックス][false:非表示マルチ選択ボックス]
getCheckedBoxの戻り値の説明:
戻り値
コメント
null
ユーザーがレコードを選択していないことを示します.
a
ユーザーがレコードを選択したことを示します.
a,b,c…z
ユーザが複数のレコードを選択したことを示す
ヒント:ユーザーが1つまたは複数を選択したかについては、indexOf(",")>0で判断できます.すなわち、返された文字列に’が含まれている場合、’は、複数のレコードが選択されていることを示します.
(三)使用例
jspページコード:
突然の衝動と百折不饶の粘り強い精神だけが生活ではなく、生活には妥協と忘却が含まれている.
直接copyで使えます
/***
* :
* :JML
* :1.0
* : ,
* : , ,
* : js ( )
*/
/**
* :
* 1. jQuery.js
* 2.
* :splitPage(tableID,tableHeadName,tableData,checkboxRow)
* [
* tableID: jsp id
* tableHeadName: ( :[" ID"," "," "," "])
* tableData: ( list [ json ][ json ])
* checkboxRow:boolean ([true: ][false: ])
* ]
*
* :getCheckedBoxs()
* [
* (null):
* (a):
* (a,b,c..z):
* ]
* [
* , indexOf(",")>0
* : ',',
* ]
* 3.
* -:initTableData()
* [
* , , JavaBean
* ( ) ( ), if
* :
* if(filedName==" ")
* {
*
* continue;
* }
* ]
* :getBoxValue()
* [
* , ,
*
* , :
* obj.parentNode.nextSibling.firstChild.nodeValue
*
* ]
*
*/
/**
* [ ]
*/
function splitPage(tableID,tableHeadName,tableData,checkboxRow)
{
initPageData(tableID,tableHeadName,tableData,checkboxRow);
}
/**
* [ ] ( , 5 )
*/
function initPageData(tableID,tableHeadName,tableData,checkboxRow)
{
var page=1;
var pageSize=5;
doSplitPage(tableID,tableHeadName,tableData,page,pageSize,checkboxRow);
}
/**
* [ ]
*/
function doSplitPage(tableID,tableHeadName,tableData,page,pageSize,checkboxRow)
{
var listCount;
var pageCount;
if(typeof(tableData)=="string")
{
tableData=tableData.replace(/\%/g,"\"");
tableData=eval("("+tableData+")");
}
if(typeof(tableHeadName)=="string")
{
tableHeadName=tableHeadName.split(",");
}
listCount=tableData.length;
pageCount=parseInt(listCount/pageSize) + (listCount%pageSize==0?0:1);
showTableData(tableID,tableHeadName,tableData,listCount,page,pageSize,pageCount,checkboxRow);
}
/**
* [ ]
*/
function showTableData(tableID,tableHeadName,tableData,listCount,page,pageSize,pageCount,checkboxRow)
{
var colspanCell=tableHeadName.length;
$("#"+tableID+" tr").remove();
initTableHead(tableID,tableHeadName,checkboxRow);
initTableData(tableID,tableData,listCount,page,pageSize,pageCount,checkboxRow);
initTableFoot(tableID,tableHeadName,tableData,listCount,page,pageSize,pageCount,colspanCell,checkboxRow);
}
/**
* [ ]
*/
function initTableHead(tableID,tableHeadName,checkboxRow)
{
var initHeadLine="";
if(checkboxRow.toString()=="true")
{
initHeadLine+='';
}
for(var i=0;i""+tableHeadName[i]+"";
}
initHeadLine+=" ";
$("#"+tableID).append(initHeadLine);
}
/**
* [ ]
*/
function initTableData(tableID,tableData,listCount,page,pageSize,pageCount,checkboxRow)
{
var firstLine=parseInt((page-1)*pageSize);
var lastLine=parseInt((page-1)*pageSize)+parseInt(pageSize);
if(page==pageCount)
{
lastLine=firstLine+(listCount-((pageCount-1)*pageSize));
}
for(var i=firstLine;i"";
if(checkboxRow.toString()=="true")
{
initDataLine+='';
}
for(var filedName in tableData[i]){
if(filedName=="ctime")
{
var ctime=new Date(tableData[i][filedName]);
var year = ctime.getFullYear();
var month = ctime.getMonth()+1;//js 0
var date = ctime.getDate();
var hour = ctime.getHours();
var minutes = ctime.getMinutes();
var second = ctime.getSeconds();
ctime=year+" "+month+" "+date+" "+hour+" "+minutes +" "+second+" ";
initDataLine+=""+ctime+"";
continue;
}
initDataLine+=""+tableData[i][filedName]+"";
}
initDataLine+="";
$("#"+tableID).append(initDataLine);
}
}
/**
* [ ]
*/
function initTableFoot(tableID,tableHeadName,tableData,listCount,page,pageSize,pageCount,colspanCell,checkboxRow)
{
tableData=JSON.stringify(tableData).replace(/\"/g,"\%");
if(checkboxRow.toString()=="true")
{
colspanCell=parseInt(colspanCell+1);
}
var initFootLine="'"+colspanCell+"' align='center' id='tableFootInfo'>";
$("#"+tableID).append(initFootLine);
var footInfoID="tableFootInfo";
$("#"+footInfoID).append(""+" ");
showFirstInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow);
showPrevInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow);
showNextInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow);
showLastInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow);
$("#"+footInfoID).append(" "+" "+page+"/"+pageCount+" ");
$("#"+footInfoID).append(" "+" "+listCount+" ");
}
/**
* [ ]
*/
function showFirstInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow)
{
if(page!=1)
{
page=1;
$("#"+footInfoID).append("+tableID+"\",\""+tableHeadName+"\",\""+tableData+"\",\""+page+"\",\""+pageSize+"\",\""+checkboxRow+"\");'> のページ");
}else
{
$("#"+footInfoID).append(" ");
}
}
/**
* [ ]
*/
function showPrevInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow)
{
if(page>1)
{
page=parseInt(page)-1;
$("#"+footInfoID).append("+tableID+"\",\""+tableHeadName+"\",\""+tableData+"\",\""+page+"\",\""+pageSize+"\",\""+checkboxRow+"\");'> のページ");
}
else
{
$("#"+footInfoID).append(" ");
}
}
/**
* [ ]
*/
function showNextInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow)
{
if(page1;
$("#"+footInfoID).append("+tableID+"\",\""+tableHeadName+"\",\""+tableData+"\",\""+page+"\",\""+pageSize+"\",\""+checkboxRow+"\");'> のページ");
}
else
{
$("#"+footInfoID).append(" ");
}
}
/**
* [ ]
*/
function showLastInfo(tableID,tableHeadName,tableData,page,pageSize,pageCount,footInfoID,checkboxRow)
{
if(page!=pageCount && pageCount!=0)
{
page=pageCount;
$("#"+footInfoID).append("+tableID+"\",\""+tableHeadName+"\",\""+tableData+"\",\""+page+"\",\""+pageSize+"\",\""+checkboxRow+"\");'> のページ");
}
else
{
$("#"+footInfoID).append(" ");
}
}
/**
* [ ]
*/
function changeTableSize(tableID,tableHeadName,tableData,page,pageSize,checkboxRow)
{
page=1;
pageSize=$("#tableSize").val();
doSplitPage(tableID,tableHeadName,tableData,page,pageSize,checkboxRow);
}
/**
* [ ] /
*/
function choiceBoxStatus(obj)
{
var boxs=document.getElementsByName("kid");
for(var i=0;i"kid");
var ids="";
var boxIDS="";
for(var i=0;iif(boxs[i].checked)
{
boxIDS+=boxs[i].value+",";
}
}
ids=boxIDS.substring(0, boxIDS.length-1);
if(ids.length==0)
{
ids=null;
}
return ids;
}
/**
* ---end---
*/
(二)ヘルプの使用このプラグインは、呼び出す2つの方法を提供します.
方法一:splitPage(tableID,tableHeadName,tableData,checkboxRow) コア・メソッド:ローカル・リフレッシュ・ページング
方法2:getCheckedBox() アシストメソッド:ユーザーが選択したレコードidを綴った文字列を返す
splitPageパラメータの説明:
パラメータ
コメント
tableID
ユーザーがjspページに空の表を書いてid値を与える必要がある
tableHeadName
ヘッダーの内容(形式は「図書ID」、「図書名」)
tableData
データソース(バックグラウンドで調べたlistセット)[json文字列であってもよい][json文字列解析後のオブジェクト配列であってもよい]
checkboxRow
booleanタイプ:[true:表示マルチ選択ボックス][false:非表示マルチ選択ボックス]
getCheckedBoxの戻り値の説明:
戻り値
コメント
null
ユーザーがレコードを選択していないことを示します.
a
ユーザーがレコードを選択したことを示します.
a,b,c…z
ユーザが複数のレコードを選択したことを示す
ヒント:ユーザーが1つまたは複数を選択したかについては、indexOf(",")>0で判断できます.すなわち、返された文字列に’が含まれている場合、’は、複数のレコードが選択されていることを示します.
(三)使用例
jspページコード:
@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
@ taglib prefix="format" uri="http://java.sun.com/jsp/jstl/fmt" %>
span class="hljs-string">"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
"Content-Type" content="text/html; charset=UTF-8">
"text/javascript"</span> src=<span class="hljs-string">"<%=request.getContextPath()%>/js/jquery-1.9.1.js"</span>>
"text/javascript"</span> src=<span class="hljs-string">"<%=request.getContextPath()%>/js/splitPage.js"</span>>
"text/javascript"</span>>
$(document).ready(function(){
$.ajax({
type:<span class="hljs-string">"post"</span>,
url:<span class="hljs-string">"<%=request.getContextPath()%>/doList.action"</span>,
data:{},
dataType:<span class="hljs-string">"json"</span>,
success:function(data)
{
var TableID=<span class="hljs-string">"bookTable"</span>;
var TableHeadName=[<span class="hljs-string">" ID"</span>,<span class="hljs-string">" "</span>,<span class="hljs-string">" "</span>,<span class="hljs-string">" "</span>];
var TableData=data;
var CheckboxRow=true;
splitPage(TableID,TableHeadName,TableData,CheckboxRow);
}
});
});
function insert()
{
location.href=<span class="hljs-string">"<%=request.getContextPath()%>/toAddPage.action"</span>;
}
function update()
{
var result=getCheckedBoxs();
<span class="hljs-keyword">if</span>(result==null)
{
alert(<span class="hljs-string">" !"</span>);
}<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(result.indexOf(<span class="hljs-string">","</span>)><span class="hljs-number">0</span>)
{
alert(<span class="hljs-string">" !"</span>);
}<span class="hljs-keyword">else</span>
{
location.href=<span class="hljs-string">"<%=request.getContextPath()%>/toUpdatePage.action?id="</span>+result;
}
}
function <span class="hljs-keyword">del</span>()
{
var result=getCheckedBoxs();
<span class="hljs-keyword">if</span>(result==null)
{
alert(<span class="hljs-string">" !"</span>);
}<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(result.indexOf(<span class="hljs-string">","</span>)><span class="hljs-number">0</span>)
{
var pro=confirm(<span class="hljs-string">" ?"</span>);
<span class="hljs-keyword">if</span>(pro)
{
location.href=<span class="hljs-string">"<%=request.getContextPath()%>/doDelAll.action?id="</span>+result;
}
}<span class="hljs-keyword">else</span>
{
var pro=confirm(<span class="hljs-string">" ?"</span>);
<span class="hljs-keyword">if</span>(pro)
{
location.href=<span class="hljs-string">"<%=request.getContextPath()%>/doDel.action?id="</span>+result;
}
}
}
"button" value=" " οnclick="insert();"/>
"button" value=" " οnclick="update();"/>
"button" value=" " οnclick="del();"/>
"1" id="bookTable">
結尾語突然の衝動と百折不饶の粘り強い精神だけが生活ではなく、生活には妥協と忘却が含まれている.