最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2008年10月31日 23:16:22   作者:  
最近做的一個(gè)項(xiàng)目里的某個(gè)小功能,主要是為了方便選擇數(shù)據(jù) 演示地址:由于有惡意程序,所以去掉地址

效果圖如下:

解決思路:
1.單擊[選擇]時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,使用ajax請(qǐng)求,取得數(shù)據(jù)源(服務(wù)端使用dataSet.getXml()輸出,因?yàn)閿?shù)據(jù)量不是很大,所以就偷懶了)
2.客戶端使用xml數(shù)據(jù)島分頁(yè)顯示(使用數(shù)據(jù)島分頁(yè)比較簡(jiǎn)單,不用寫太多的代碼)
3.搜索時(shí),根據(jù)當(dāng)前選擇(下拉框)的分類ID,和搜索關(guān)鍵字,重新使用ajax請(qǐng)求(好像也可以使用xml的結(jié)果過(guò)濾,但為了方便,重新請(qǐng)求算了),跳到第2步顯示
4.取數(shù)據(jù)時(shí),單擊某行時(shí),使用onclick事件,把當(dāng)前行的tr做為參數(shù),使用dom操作就可以得到tr里的td的值
附:由于沒考慮到其它細(xì)節(jié)的問(wèn)題,所以代碼有點(diǎn)亂,希望各位能多多指導(dǎo),各位的批評(píng)就是我進(jìn)步的最好的捷徑.謝謝
貼出全部代碼,希望能和大家相互交流一下
index.html 顯示頁(yè)面:
<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請(qǐng)求后返回保存的數(shù)據(jù)
var key = "";
var id = "";
//---------------------樣式設(shè)置------------------//
var divid = "selectData" //說(shuō)明第4步
var txtValueID = "selectValue"; //說(shuō)時(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; //每頁(yè)顯示行數(shù)
var onmouseoverBG = "#DDFFEC"; //鼠標(biāo)移上去該行的背景顏色
var onmouseoutBG = "#ffffff"; //鼠標(biāo)離開后該行的背景顏色
//表頭列名根據(jù)需要修改
var tableHead = "<thead style='background: #DDFFEC;'>";
tableHead += "<th>編號(hào)</th>";
tableHead += "<th>用戶名</th>";
tableHead += "<th>密碼</th>";
tableHead += "</thead>";
//數(shù)據(jù)綁定字段名,修改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"; //請(qǐng)求頁(yè)面
//-------------------外部調(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 = "<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'>"
//----------------翻頁(yè)操作-----------------------//
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>"
//----------------數(shù)據(jù)源-----------------------//
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();
}
//得到總頁(yè)
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ù)";
}
}
//首頁(yè)時(shí)得到當(dāng)前頁(yè)
function firstPage()
{
$("page").innerHTML = 1;
}
//上頁(yè)時(shí)得到當(dāng)前頁(yè)
function previousPage()
{
if($("page").innerHTML != "1")
{
$("page").innerHTML = parseInt($("page").innerHTML) - 1;
}
}
//下頁(yè)時(shí)得到當(dāng)前頁(yè)
function nextPage()
{
if($("page").innerHTML != $("pages").innerHTML)
{
$("page").innerHTML = parseInt($("page").innerHTML) + 1;
}
}
//尾頁(yè)時(shí)得到當(dāng)前頁(yè)
function lastPage()
{
$("page").innerHTML = $("pages").innerHTML;
}
//翻頁(yè)操作
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("<?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();
}

相關(guān)文章

  • 使用js Math.random()函數(shù)生成n到m間的隨機(jī)數(shù)字

    使用js Math.random()函數(shù)生成n到m間的隨機(jī)數(shù)字

    何使用js生成n到m間的隨機(jī)數(shù)字,主要目的是為后期的js生成驗(yàn)證碼做準(zhǔn)備,Math.random()函數(shù)返回0和1之間的偽隨機(jī)數(shù)
    2014-10-10
  • 原生JS實(shí)現(xiàn)日歷組件的示例代碼

    原生JS實(shí)現(xiàn)日歷組件的示例代碼

    本篇文章主要介紹了原生JS實(shí)現(xiàn)日歷組件的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 深入淺出分析javaScript中this用法

    深入淺出分析javaScript中this用法

    這篇文章主要介紹了javaScript中this用法,實(shí)例分析了javascript中this的用途與相關(guān)的使用技巧,需要的朋友可以參考下
    2015-05-05
  • layui使用技巧和常見問(wèn)題匯總

    layui使用技巧和常見問(wèn)題匯總

    layui技巧:下拉框未展示問(wèn)題;下拉框的onchange事件處理;關(guān)閉彈出層,重新加載父頁(yè)面;父頁(yè)面如何傳遞參數(shù)給彈出層的iframe頁(yè)面;表單元素處于禁用狀態(tài);表單提交如何獲取表單元素值集合;數(shù)據(jù)表格固定列;帶搜索的下拉框;表單提交阻止頁(yè)面跳轉(zhuǎn);父頁(yè)面和子窗口傳遞值
    2024-07-07
  • three.js加載obj模型的實(shí)例代碼

    three.js加載obj模型的實(shí)例代碼

    three.js是一款webGL框架,由于其易用性被廣泛應(yīng)用。接下來(lái)通過(guò)本文給大家分享three.js加載obj模型的實(shí)例代碼,需要的朋友參考下吧
    2017-11-11
  • JS查找數(shù)組中重復(fù)元素的方法詳解

    JS查找數(shù)組中重復(fù)元素的方法詳解

    這篇文章主要介紹了JS查找數(shù)組中重復(fù)元素的方法,結(jié)合具體實(shí)例形式對(duì)比分析了javascript針對(duì)數(shù)組的遍歷、判斷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • JS隨機(jī)生成不重復(fù)數(shù)據(jù)的實(shí)例方法

    JS隨機(jī)生成不重復(fù)數(shù)據(jù)的實(shí)例方法

    這篇文章介紹了JS隨機(jī)生成不重復(fù)數(shù)據(jù)的實(shí)例方法,有需要的朋友可以參考一下
    2013-07-07
  • js 純數(shù)字不重復(fù)排列的另類方法

    js 純數(shù)字不重復(fù)排列的另類方法

    有一組數(shù)據(jù),大概10萬(wàn)個(gè)左右,每一單位的值不會(huì)大于30000,要求按照由大到小的順序不重復(fù)輸出。
    2010-07-07
  • 微信小程序?qū)崿F(xiàn)滑動(dòng)操作代碼

    微信小程序?qū)崿F(xiàn)滑動(dòng)操作代碼

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)滑動(dòng)操作代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • JavaScript使用ul中l(wèi)i標(biāo)簽實(shí)現(xiàn)刪除效果

    JavaScript使用ul中l(wèi)i標(biāo)簽實(shí)現(xiàn)刪除效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript使用ul中l(wèi)i標(biāo)簽實(shí)現(xiàn)刪除效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論

玉龙| 苍溪县| 库伦旗| 正定县| 茂名市| 萨嘎县| 恩施市| 财经| 驻马店市| 桦甸市| 武隆县| 宁南县| 兰溪市| 蕉岭县| 吴桥县| 承德县| 石棉县| 翁牛特旗| 德兴市| 东港市| 博野县| 务川| 寿光市| 剑川县| 石渠县| 松原市| 桦川县| 罗田县| 石棉县| 松潘县| 宝丰县| 嵊泗县| 田林县| 石门县| 肇东市| 陕西省| 商丘市| 宾川县| 黄陵县| 绥化市| 鸡东县|