jQuery and AJAX

什麼是jQuery?jQuery有什麼用?

• jQuery 是 javascript 的一個框架集合 ,並不是什麼新的技術
• jQuery 極大地簡化了JavaScript編程
• 能夠處理HTML/JSP/XML、CSS、DOM、事件、實現動畫效果,也能提供異步AJAX功能
• 不用再在html裏面通過`<script>`標籤插入一大堆js來調用命令了

介紹jQuery中常用的函數

  1. $("#emps_table tbody").empty();刪除匹配的元素集合中所有的子節點
  2. $("#check_all_page").attr("checked", false);設置或返回被選元素的屬性值
  3. $.each(emps, function (index, emp) {});循環遍歷emps,index是當前元素的位置,emp是遍歷值
  4. $("<td></td>").append(emp.empId);向每個匹配的元素內部追加內容
  5. $("<td></td>").appendTo("#emps_table tbody");把所有匹配的元素追加到另一個指定的元素元素集合中
  6. $("<ul></ul>").addClass("pagination");爲每個匹配的元素添加指定的類名
  7. $("#myModal form")[0].reset();重置初始化表單數據
  8. $("#myModal form").find("*");搜索所有與指定表達式匹配的元素
  9. $("#myModal form").removeClass("has-error has-success");從所有匹配的元素中刪除全部或者指定的類
  10. $('p').text();返回p元素的文本內容
  11. $("p").text("Hello world!");設置所有 p 元素的文本內容
  12. $("#emp_add_form").serialize();序列表表格內容爲字符串
  13. $("#tips").popover('hide');設置提示信息的顯示與隱藏
  14. $("#myModal").modal('hide');設置模態框的顯示與隱藏
  15. $("#emp_save_button").mouseleave(function () {});當鼠標指針離開元素時,會發生 mouseleave 事件
  16. $("#empName_form_input").change(function () {});當元素的值發生改變時,會發生 change 事件
  17. $("#empName_form_input").keyup(function () {});當鍵帽被鬆開時,發生 keyup 事件
  18. $(".check_item:checked").length;Query 對象中元素的個數
  19. $("#check_all_page").prop("checked",flag);
$("#check_all_page").click(function () {
	//$(obj).prop("checked"):獲取checked屬性
	//$(".check_item").prop("checked", true):設置checked屬性
	//根據 check_all_page 的是否被選中,來設置表單中的check_item的選中狀態($(this).prop("checked")返回true/false)
	$(".check_item").prop("checked", $(this).prop("checked"));
});
  1. $(".check_item:checked").length
$("#emp_delete_selected_btn").click(function () {
		//判斷class爲check_item的選擇框被選擇的個數
		if ($(".check_item:checked").length < 1) {
			alert("請先選擇要刪除的人員");
			return false;
		}
  1. $(this).parents("tr").find("td:eq(1)").text()
//循環遍歷每個被選擇的checkBox的值
var select_name = "", select_id = "";
$.each($(".check_item:checked"),function () {
	//$(this).parents("tr"):用於獲取被選中的checkBox的父元素(也就是所在行)
	//find("td:eq(2)"):找到所在tr(行)的第二td(列)
	//text():獲取所在行列交集單元格的數據
	select_name += $(this).parents("tr").find("td:eq(2)").text() + " , ";
	select_id += $(this).parents("tr").find("td:eq(1)").text() + "-";
});

什麼是AJAX?AJAX有什麼用?

• AJAX = 異步 JavaScript 和 XML
• AJAX 是一種用於創建快速動態網頁的技術
• 通過在後臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新
• 這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新
• 傳統的網頁(不使用 AJAX)如果需要更新內容,必需重載整個網頁面

jQuery中的ajax方法簡介

  1. url:要求爲String類型的參數,(默認爲當前頁地址)發送請求的地址
  2. type:要求爲String類型的參數,請求方式(post或get)默認爲get。注意其他http請求方法,例如put和delete也可以使用,但僅部分瀏覽器支持
  3. async:要求爲Boolean類型的參數,默認設置爲true,所有請求均爲異步請求。如果需要發送同步請求,請將此選項設置爲false。注意,同步請求將鎖住瀏覽器,用戶其他操作必須等待請求完成纔可以執行
  4. data:要求爲Object或String類型的參數,發送到服務器的數據。如果已經不是字符串,將自動轉換爲字符串格式,get請求中將附加在url後
  5. dataType: 要求爲String類型的參數,預期服務器返回的數據類型。如果不指定,JQuery將自動根據http包mime信息返回responseXML或responseText,並作爲回調函數參數傳遞。可用的類型如下:
    xml:返回XML文檔,可用JQuery處理。
    html:返回純文本HTML信息;包含的script標籤會在插入DOM時執行。
    script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數。注意在遠程請求時(不在同一個域下),所有post請求都將轉爲get請求。
    json:返回JSON數據。
    jsonp:JSONP格式。使用SONP形式調用函數時,例如myurl?callback=?,JQuery將自動替換後一個“?”爲正確的函數名,以執行回調函數。
    text:返回純文本字符串。
  6. success:要求爲function類型的參數,請求成功後調用的回調函數
  7. error:要求爲function類型的參數,請求失敗時被調用的函數

案例代碼:

function getDeptsOfQuery(ele) {
		$.ajax({
			url : APP_PATH + "/depts",
			dataType: "json",
			async : false,
			type : 'GET',
			success : function (depts) {
				$(ele).empty();
				$(ele).append($("<option value=\"0\">不選擇</option>"));
				$.each(depts , function (index, dept) {
					$(ele).append(
						$("<option></option>").append(dept.deptName).attr("value",dept.deptId)
					);
				});
			}
		});
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章