一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

效果圖如下:

解決思路:
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();
}

JavaScript技術xml分頁+ajax請求數據源+dom取結果實例代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人久久久久久 | 看全大色黄大色黄大片一级爽 | 日本美女久久 | 色视频免费在线 | 午夜在线日韩免费精品福利 | 午夜剧场刺激性爽免费视频 | 国产三级网站在线观看 | 黄色高清在线观看 | 青热久思思 | 伊人网色 | 久久激情小说 | 亚洲免费一级片 | 色婷婷久久综合中文久久一本` | 婷婷综合 在线 | 国产美乳在线观看 | 99热这里有免费国内精品 | 国产专区自拍 | 亚洲欧美另类国产综合 | 成人精品免费网站 | 97夜夜澡人人双人人人喊女 | 六月丁香婷婷综合 | 天天干b | 亚洲综合图片区 | 午夜欧美成人久久久久久 | 国色天香网 | 婷婷综合激情网 | 国产网站在线 | 天天摸天天躁天天添天天爽 | 一区二区视频在线观看 | 午夜黄色福利 | 欧美精品www | 国产美女精品一区二区三区 | 精品成人资源在线观看 | 日韩在线播放中文字幕 | 午夜黄色大片 | 午夜激情在线观看 | 7777在线视频 | 四虎永久在线观看视频精品 | 六月丁香婷婷激情 | 涩涩涩在线视频 | 91免费在线看 |