JavaScript級聯是一種常見的實現級別三級聯動的技術,可以通過這種技術讓用戶在輸入框中輸入不同的選項,從而產生新的選項。這篇文章將探討JavaScript級聯的定義,實現方法和實例,幫助讀者更好地理解和掌握這一技術。
定義
JavaScript級聯通常用于省市區和多級關聯選項等場合,它包括一個主要控件和一個或多個子控件,每個子控件基于父控件的選項發生變化。例如,省份作為第一個控件,根據省份選擇,市場作為第二個控件,根據所選地區顯示可用市場。
實現方法
實現JavaScript級聯的最簡單方法是使用jQuery(當然也可以使用純JavaScript實現)。以下是一個使用jQuery實現省市區聯動的示例代碼:
$(document).ready(function(){ $("select#province").change(function(){ var selected = $(this).val(); $.getJSON("/getCity/"+selected,function(data){ var options = ''; $.each(data,function(key, value){ options += ''; }); $("select#city").html(options); }); }); $("select#city").change(function(){ var selected = $(this).val(); $.getJSON("/getArea/"+selected,function(data){ var options = ''; $.each(data,function(key, value){ options += ''; }); $("select#area").html(options); }); }); });
實例
以下是一個使用純JavaScript實現級聯的示例代碼。省市區的數據以JSON格式保存在a.js文件中。
window.onload = function(){ var provinces = document.getElementById('province'); var cities = document.getElementById('city'); var areas = document.getElementById('area'); provinces.onchange = changeProvince; cities.onchange = changeCity; // 頁面加載時讀取省份列表 showProvinces(); function showProvinces(){ var xhr = new XMLHttpRequest(); xhr.open('GET','a.js',true); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var data = JSON.parse(xhr.responseText); var options = ''; for(var i=0; i' + data.provinces[i].name + ''; } provinces.innerHTML = options; } }; xhr.send(); } function changeProvince(){ cities.innerHTML = ''; areas.innerHTML = ''; var provinceId = provinces.value; if(provinceId){ var xhr = new XMLHttpRequest(); xhr.open('GET','a.js',true); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var data = JSON.parse(xhr.responseText); var options = ''; for(var i=0; i ' + data.cities[provinceId][i].name + ''; } cities.innerHTML = options; } }; xhr.send(); } } function changeCity(){ areas.innerHTML = ''; var cityId = cities.value; if(cityId){ var xhr = new XMLHttpRequest(); xhr.open('GET','a.js',true); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var data = JSON.parse(xhr.responseText); var options = ''; for(var i=0; i ' + data.areas[cityId][i].name + ''; } areas.innerHTML = options; } }; xhr.send(); } } }
以上是兩種常見的JavaScript級聯的實現方法和實例,希望本文對使用JavaScript實現級聯的讀者有所幫助。
上一篇python的繼承含義