最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

xml分頁+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼_javascript技巧

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:40:28
文檔

xml分頁+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼_javascript技巧

xml分頁+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼_javascript技巧:效果圖如下:解決思路: 1.單擊[選擇]時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,使用ajax請(qǐng)求,取得數(shù)據(jù)源(服務(wù)端使用dataSet.getXml()輸出,因?yàn)閿?shù)據(jù)量不是很大,所以就偷懶了) 2.客戶端使用xml數(shù)據(jù)島分頁顯示(使用數(shù)據(jù)島分頁比較簡(jiǎn)單,不用寫太多的代碼) 3.搜索時(shí),
推薦度:
導(dǎo)讀xml分頁+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼_javascript技巧:效果圖如下:解決思路: 1.單擊[選擇]時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,使用ajax請(qǐng)求,取得數(shù)據(jù)源(服務(wù)端使用dataSet.getXml()輸出,因?yàn)閿?shù)據(jù)量不是很大,所以就偷懶了) 2.客戶端使用xml數(shù)據(jù)島分頁顯示(使用數(shù)據(jù)島分頁比較簡(jiǎn)單,不用寫太多的代碼) 3.搜索時(shí),
效果圖如下:

解決思路:
1.單擊[選擇]時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,使用ajax請(qǐng)求,取得數(shù)據(jù)源(服務(wù)端使用dataSet.getXml()輸出,因?yàn)閿?shù)據(jù)量不是很大,所以就偷懶了)
2.客戶端使用xml數(shù)據(jù)島分頁顯示(使用數(shù)據(jù)島分頁比較簡(jiǎn)單,不用寫太多的代碼)
3.搜索時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,和搜索關(guān)鍵字,重新使用ajax請(qǐng)求(好像也可以使用xml的結(jié)果過濾,但為了方便,重新請(qǐng)求算了),跳到第2步顯示
4.取數(shù)據(jù)時(shí),單擊某行時(shí),使用onclick事件,把當(dāng)前行的tr做為參數(shù),使用dom操作就可以得到tr里的td的值
附:由于沒考慮到其它細(xì)節(jié)的問題,所以代碼有點(diǎn)亂,希望各位能多多指導(dǎo),各位的批評(píng)就是我進(jìn)步的最好的捷徑.謝謝
貼出全部代碼,希望能和大家相互交流一下
index.html 顯示頁面:









data.js 所有操作js代碼
var xmlHttp;
var xmlContent; //ajax請(qǐng)求后返回保存的數(shù)據(jù)
var key = "";
var id = "";
//---------------------樣式設(shè)置------------------//
var divid = "selectData" //說明第4步
var txtValueID = "selectValue"; //說時(shí)第2步
var fieldNames = new Array(3); //單擊某行取值是,每列值前添加一個(gè)該值列名
var isShowFieldNames = true; //取值時(shí),是否要顯示列名 true為顯示,false不顯示
fieldNames[0]="編號(hào):";
fieldNames[1]="用戶名:";
fieldNames[2]="密碼:";
var pageSize = 10; //每頁顯示行數(shù)
var onmouseoverBG = "#DDFFEC"; //鼠標(biāo)移上去該行的背景顏色
var onmouseoutBG = "#ffffff"; //鼠標(biāo)離開后該行的背景顏色
//表頭列名根據(jù)需要修改
var tableHead = "";
tableHead += "編號(hào)";
tableHead += "用戶名";
tableHead += "密碼";
tableHead += "";
//數(shù)據(jù)綁定字段名,修改DATAFLD里的的字段名
var dataFiled = "";
dataFiled += "";
dataFiled += "";
var RequestFile = "getXml1.aspx"; //請(qǐng)求頁面
//-------------------外部調(diào)用--------------------------//
//顯示選擇
//productID是下拉框ID,請(qǐng)根據(jù)需要修改
function show()
{
$(divid).style.display = ''
$(divid).style.position="absolute"
$(divid).style.backgroundColor="#FFFFFF"
key = "";
id = productID.options[productID.selectedIndex].value;
RequestXML();
}
//分類改變時(shí)隱藏
function changeID()
{
hide();
}
//---------------------內(nèi)部方法,一般不用修改---------------------------//
//選擇某行的值,顯示到文本框
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();
}
//顯示內(nèi)容
function ShowData()
{
var data = $(divid);
var content = "";
content += "";
content += "
";
content += "";
content += "" + xmlContent + "";
content += ""
//----------------翻頁操作-----------------------//
content += ""
content += "
"
content += " ";
content += " ";
content += " ";
content += "";
content += "
1"
content += "
"
//----------------數(shù)據(jù)源-----------------------//
content += "";
//----------------列名-----------------------//
content += tableHead;
content += "";
content += dataFiled;
content += "";
content += "
";
content += ""
content += ""
data.innerHTML = content;
GetPages();
}
//得到總頁
function GetPages()
{
var rowCount = $("data_souce").getElementsByTagName("Table"); //得到所有table節(jié)點(diǎn),得到總記錄數(shù)
$("pages").innerHTML = Math.ceil(rowCount.length / pageSize);
$("compart").innerHTML = "/";
if(rowCount.length == 0)
{
$("resultxml").innerHTML = "找不到相關(guān)數(shù)據(jù)";
}
}
//首頁時(shí)得到當(dāng)前頁
function firstPage()
{
$("page").innerHTML = 1;
}
//上頁時(shí)得到當(dāng)前頁
function previousPage()
{
if($("page").innerHTML != "1")
{
$("page").innerHTML = parseInt($("page").innerHTML) - 1;
}
}
//下頁時(shí)得到當(dāng)前頁
function nextPage()
{
if($("page").innerHTML != $("pages").innerHTML)
{
$("page").innerHTML = parseInt($("page").innerHTML) + 1;
}
}
//尾頁時(shí)得到當(dāng)前頁
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("請(qǐng)輸入搜索關(guān)鍵字");
return;
}
RequestXML();
}
//根據(jù)ID得到對(duì)象
function $(id)
{
return document.getElementById(id);
}
//隱藏選擇
function hide()
{
$(divid).style.display ="none";
}
//創(chuàng)建XMLHttpRequest
function CreateXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
//請(qǐng)求
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 = "正在讀取數(shù)據(jù)中";
}
}
getXml.aspx 服務(wù)端數(shù)據(jù)源
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("");
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();
}

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

xml分頁+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼_javascript技巧

xml分頁+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼_javascript技巧:效果圖如下:解決思路: 1.單擊[選擇]時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,使用ajax請(qǐng)求,取得數(shù)據(jù)源(服務(wù)端使用dataSet.getXml()輸出,因?yàn)閿?shù)據(jù)量不是很大,所以就偷懶了) 2.客戶端使用xml數(shù)據(jù)島分頁顯示(使用數(shù)據(jù)島分頁比較簡(jiǎn)單,不用寫太多的代碼) 3.搜索時(shí),
推薦度:
標(biāo)簽: xml 分頁 數(shù)據(jù)源
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top