這篇文章將為大家詳細講解有關如何實現Ajax疊加,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
最近在做人事管理系統的一個簽到功能,首先是把部門當做參數,把參數用Ajax發送到數據庫進行查詢,然后以表格形式動態生成員工信息到返回頁面的Div里,表格最后的一列是簽到按鈕,這時我想用JQuery繼續獲取被點擊的“簽到”按鈕,然后用Ajax將數據發送到數據庫簽到表,更新簽到表,于是我就把每個簽到按鈕的id屬性設置成第一次Ajax返回的每個員工信息的工號,再次用JQuery獲取,怎么獲取呢?想到了標簽加事件選擇器,于是寫了下面代碼:
代碼如下:
$(function(){
$("tr input:button").click(){
$.ajax({
type: "POST",
url: "page_helper.ashx",
data: "name=K&pid" + $(this).attr("id"),
success: function (html) {
$("#ReturnHTML").html(html);
},
error: function () {
alert("服務器繁忙,請稍后再試!");
}
});
}
});
可是后來點擊卻發現沒有獲取到點擊事件,點擊按鈕根本就沒有反應,當我用瀏覽器查看返回的源碼的時候,發現原來Ajax返回的HTML代碼根本就沒有被添加到頁面中,這回怎么辦呢?后來去百度里檢索了半天,都說Ajax返回的數據無法用瀏覽器查看到源碼,因為是異步的,檢索了一天,頭又大又疼,于是就晚上了,每次遇到大的問題,就趕緊睡覺,在夢中想實現方法,這樣一方面可以休息,另一方面也可以解決問題,一般的時候第二天問題都會有答案,也都能實現。
第二天早晨醒來,思路還是沒有,我想這次應該是大問題了,是不是我想要實現的不可能實現呢?百度里幾乎沒有用兩次Ajax請求的,無奈之下在QQ空間發布了懸賞求助,懸賞是宴請三天三夜,后來終于我偉大的高中同學給了我幫助,當然不是因為懸賞才幫助我的,哈哈哈。
高中同學是這么說的,Jquery中有個live方法,可以獲取動態生成的HTML代碼元素,后來我就把live方法敲了進去,看了有三個參數event,data,function;于是查看了Jquery的幫助文檔。
event:必需,規定附加到元素的一個或多個事件,由空格分隔多個事件。必須是有效的事件。
data:可選,規定傳遞到該函數的額外數據。
function:必需,規定當前事件發生時運行的函數。
這時的我這時大旱逢甘霖啊,于是寫下下面代碼:
復制代碼 代碼如下:
$(function(){
$("tr input:button").live("click", function () {
$.ajax({
type: "POST",
url: "page_helper.ashx",
data: "name=JS&pid=" + $(this).attr("id") + jsparam(),
success: function (html) {
alert(html);
},
error: function () {
alert("服務器繁忙,請稍后再試!");
});
}
});
關于“如何實現Ajax疊加”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。