在前端開發中,經常需要通過省市聯動來滿足業務需求。今天我們就來介紹一種使用ajax和jquery實現省市聯動的方法。
首先,我們需要在HTML文件中定義兩個select標簽,用于顯示省和市的信息:
<select id="province"> <option value="">請選擇省份</option> </select> <select id="city"> <option value="">請選擇城市</option> </select>
接著,我們通過ajax向后端請求省份信息并渲染到頁面中:
$(function() { $.ajax({ type: "get", url: "/api/province", dataType: "json", success: function (data) { var options = ""; $.each(data, function (index, item) { options += "<option value='"+item.id+"'>"+item.name+"</option>"; }); $("#province").html("<option value=''>請選擇省份</option>"+options); }, error: function () { alert("請求出錯!"); } }); });
這段代碼中,我們向后端發送GET請求,請求/province接口,并通過dataType指定響應數據類型為json。如果請求成功,我們使用$.each方法遍歷后端返回的省份信息,將每個省份信息作為選項添加到省份select標簽中。
接下來,我們給省份select標簽綁定change事件,以便在用戶選擇省份后,自動獲取相應的城市信息:
$("#province").change(function () { var pid = $(this).val(); if (pid) { $.ajax({ type: "get", url: "/api/city/"+pid, dataType: "json", success: function (data) { var options = ""; $.each(data, function (index, item) { options += "<option value='"+item.id+"'>"+item.name+"</option>"; }); $("#city").html("<option value=''>請選擇城市</option>"+options); }, error: function () { alert("請求出錯!"); } }); } else { $("#city").html("<option value=''>請選擇城市</option>"); } });
在change事件中,我們讀取當前選擇的省份id,并使用其作為參數向后端發送/city/{pid}的GET請求,獲取對應省份的城市信息。如果請求成功,我們使用$.each方法遍歷后端返回的城市信息,將每個城市信息作為選項添加到城市select標簽中。在用戶重新選擇省份時,我們清空城市select標簽中的內容,以免混淆用戶選擇。
最后,我們就可以愉快地使用ajax和jquery實現省市聯動啦!
上一篇搜索全部css樣式