国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

xml分頁+ajax請求數據源+dom取結果實例代碼

2019-11-21 01:34:37
字體:
來源:轉載
供稿:網友

效果圖如下:

解決思路:
1.單擊[選擇]時,根據當前選擇(下拉框)的分類ID,使用ajax請求,取得數據源(服務端使用dataSet.getXml()輸出,因為數據量不是很大,所以就偷懶了)
2.客戶端使用xml數據島分頁顯示(使用數據島分頁比較簡單,不用寫太多的代碼)
3.搜索時,根據當前選擇(下拉框)的分類ID,和搜索關鍵字,重新使用ajax請求(好像也可以使用xml的結果過濾,但為了方便,重新請求算了),跳到第2步顯示
4.取數據時,單擊某行時,使用onclick事件,把當前行的tr做為參數,使用dom操作就可以得到tr里的td的值
附:由于沒考慮到其它細節的問題,所以代碼有點亂,希望各位能多多指導,各位的批評就是我進步的最好的捷徑.謝謝
貼出全部代碼,希望能和大家相互交流一下
index.html 顯示頁面:
<select id="productID" onchange="changeID()" NAME="productID">
<option value="1" selected>1111</option>
<option value="2">2222</option>
<option value="3">3333</option>
</select><br>
<table>
<tr>
<td><input id="selectValue" type="text" size="40"></td><td><a href='#' onclick='show()'><img src='img/btnSelect.gif' /></a></td>
</tr>
</table>
<div id="selectData"></div>
<input id="abc" type="text" size="50%" />
data.js 所有操作js代碼
var xmlHttp;
var xmlContent; //ajax請求后返回保存的數據
var key = "";
var id = "";
//---------------------樣式設置------------------//
var divid = "selectData" //說明第4步
var txtValueID = "selectValue"; //說時第2步
var fieldNames = new Array(3); //單擊某行取值是,每列值前添加一個該值列名
var isShowFieldNames = true; //取值時,是否要顯示列名 true為顯示,false不顯示
fieldNames[0]="編號:";
fieldNames[1]="用戶名:";
fieldNames[2]="密碼:";
var pageSize = 10; //每頁顯示行數
var onmouseoverBG = "#DDFFEC"; //鼠標移上去該行的背景顏色
var onmouseoutBG = "#ffffff"; //鼠標離開后該行的背景顏色
//表頭列名根據需要修改
var tableHead = "<thead style='background: #DDFFEC;'>";
tableHead += "<th>編號</th>";
tableHead += "<th>用戶名</th>";
tableHead += "<th>密碼</th>";
tableHead += "</thead>";
//數據綁定字段名,修改DATAFLD里的的字段名
var dataFiled = "<td style='border-top: 1px solid #B9E2CC;'><div DATAFLD='F_id'></div></td>";
dataFiled += "<td style='border-top: 1px solid #B9E2CC;'><div DATAFLD='F_userName'></div></td>";
dataFiled += "<td style='border-top: 1px solid #B9E2CC;'><div DATAFLD='F_passWord'></div></td>";
var RequestFile = "getXml1.aspx"; //請求頁面
//-------------------外部調用--------------------------//
//顯示選擇
//productID是下拉框ID,請根據需要修改
function show()
{
$(divid).style.display = ''
$(divid).style.position="absolute"
$(divid).style.backgroundColor="#FFFFFF"
key = "";
id = productID.options[productID.selectedIndex].value;
RequestXML();
}
//分類改變時隱藏
function changeID()
{
hide();
}
//---------------------內部方法,一般不用修改---------------------------//
//選擇某行的值,顯示到文本框
function getCurrentRowData(tr)
{
var tds = tr.getElementsByTagName("td") //得到所有列
var result="";
for(var i = 0; i < tds.length; i++)
{
if(isShowFieldNames){result += fieldNames[i]};
if(i != tds.length -1 )//是否是最后一列
{
result += tr.getElementsByTagName("div")[i].firstChild.nodeValue + ","; //得到第i列的值 + ","
}
else
{
result += tr.getElementsByTagName("div")[i].firstChild.nodeValue; //得到第i列的值
}
}
$(txtValueID).value = result;
hide();
}
//顯示內容
function ShowData()
{
var data = $(divid);
var content = "<div id=/"main/" style='border: 1px solid #009966;width:300px;font-size:13px';>";
content += "<div id=/"searchMain/">";
content += "<table><tr><td><input style='border: 1px solid #B9E2CC;' id=/"key/" type=/"text/" /></td><td><a href='#' onclick='Search()'><img style='border:0px;' src='img/btnSearch.gif' /></a></td><td><a href='#' onclick='hide()'><img style='border:0px' src='img/btnCancel.gif' /></a></td></tr></table>";
content += "</div>";
content += "<xml id=/"data_souce/">" + xmlContent + "</xml>";
content += "<div id='resultxml'>"
//----------------翻頁操作-----------------------//
content += "<table CELLPADDING=0 CELLSPACING=0 width='100%'><tr><td>"
content += "<a href=/"#/" onclick=/"GotoPage('first')/"><img style='border:0px;' src='img/btnFirst.gif'/></a> ";
content += "<a href=/"#/" onclick=/"GotoPage('previous')/"><img style='border:0px;' src='img/btnPrevious.gif'/></a> ";
content += "<a href=/"#/" onclick=/"GotoPage('next')/"><img style='border:0px;' src='img/btnNext.gif'/></a> ";
content += "<a href=/"#/" onclick=/"GotoPage('last')/"><img style='border:0px;' src='img/btnLast.gif'/></a>";
content += "</td>"
content += "<td align='rigth' style='font-size:13px'><span style='color:red' id='page'>1</span><span id='compart'></span><span id='pages'></span>"
content += "</td></tr></table>"
//----------------數據源-----------------------//
content += "<table style='text-align:center;font-size:13px;border: 1px solid #B9E2CC;' width='300px' CELLPADDING=0 CELLSPACING=0 id=/"datas/" DATASRC=/"#data_souce/" DATAPAGESIZE=" + pageSize + ">";
//----------------列名-----------------------//
content += tableHead;
content += "<tr style=/"cursor:hand/" onmouseover=/"this.bgColor='" + onmouseoverBG + "'/" onmouseout=/"this.bgColor='" + onmouseoutBG + "'/" onclick=/"getCurrentRowData(this)/">";
content += dataFiled;
content += "</tr>";
content += "</table>";
content += "</div>"
content += "</div>"
data.innerHTML = content;
GetPages();
}
//得到總頁
function GetPages()
{
var rowCount = $("data_souce").getElementsByTagName("Table"); //得到所有table節點,得到總記錄數
$("pages").innerHTML = Math.ceil(rowCount.length / pageSize);
$("compart").innerHTML = "/";
if(rowCount.length == 0)
{
$("resultxml").innerHTML = "找不到相關數據";
}
}
//首頁時得到當前頁
function firstPage()
{
$("page").innerHTML = 1;
}
//上頁時得到當前頁
function previousPage()
{
if($("page").innerHTML != "1")
{
$("page").innerHTML = parseInt($("page").innerHTML) - 1;
}
}
//下頁時得到當前頁
function nextPage()
{
if($("page").innerHTML != $("pages").innerHTML)
{
$("page").innerHTML = parseInt($("page").innerHTML) + 1;
}
}
//尾頁時得到當前頁
function lastPage()
{
$("page").innerHTML = $("pages").innerHTML;
}
//翻頁操作
function GotoPage(page)
{
switch(page)
{
case "first":
{
datas.firstPage();
firstPage();
break;
}
case "previous":
{
datas.previousPage();
previousPage();
break;
}
case "next":
{
datas.nextPage();
nextPage();
break;
}
case "last":
{
datas.lastPage();
lastPage();
break;
}
}
}
//搜索
function Search()
{
key = $("key").value;
if(key == "")
{
alert("請輸入搜索關鍵字");
return;
}
RequestXML();
}
//根據ID得到對象
function $(id)
{
return document.getElementById(id);
}
//隱藏選擇
function hide()
{
$(divid).style.display ="none";
}
//創建XMLHttpRequest
function CreateXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
//請求
function RequestXML()
{
var url = RequestFile + "?id=" + id + "&key=" + key;
CreateXMLHttpRequest();
xmlHttp.open("get",url);
xmlHttp.onreadystatechange = GetXMLResult;
xmlHttp.send(null);
}
//接收
function GetXMLResult()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
xmlContent = xmlHttp.responseText;
ShowData();
}
}
else
{
$(divid).innerHTML = "正在讀取數據中";
}
}
getXml.aspx 服務端數據源
private void Page_Load(object sender, System.EventArgs e)
{
Response.Write(GetData());
Response.End();
}
private string GetData()
{
string id = Request.QueryString["id"];
string key = Request.QueryString["key"];
string sql = "select * from T_user where F_id = " + id;
if (key.Length > 0){sql += " and F_id like '%" + key + "%'or F_passWord like '%" + key + "%' or F_userName like '%" + key + "%'";}
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=/"1.0/"?>");
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=WebTest");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
sb.Append(ds.GetXml());
return sb.ToString();
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夏津县| 台北市| 洞口县| 介休市| 崇阳县| 韩城市| 旬邑县| 黄梅县| 武清区| 屏东市| 资中县| 西安市| 焉耆| 汨罗市| 广丰县| 桂平市| 芦山县| 黄山市| 娄烦县| 肥城市| 拜城县| 桦川县| 卓尼县| 西充县| 专栏| 赣榆县| 宜宾市| 兴业县| 祥云县| 馆陶县| 溆浦县| 象州县| 筠连县| 剑阁县| 阳原县| 鲜城| 新民市| 南木林县| 哈巴河县| 朝阳县| 莱芜市|