Cette fois, je vais vous présenter l'effet d'Ajax pour implémenter des options déroulantes simples (images et textes détaillés). Quelles sont les précautions pour qu'Ajax implémente des options déroulantes simples. un cas pratique, jetons un coup d'oeil.
En gros, il y a des étapes fixes ! Principalement dans les opérations JAVASCRIPT et PHP
1 Il n'y a que deux balises SELECT dans le code HTML comme suit :
<select id="province"> <option>请选择</option> </select> <select id="city"> <option>请选择</option> </select>
2. effectuer une requête asynchrone AJAX sont les suivants
<script> var xhr = getXhr(); // 第一次执行Ajax异步请求 - 省份 window.onload = function(){ xhr.open("get","finaly.php?state=1"); xhr.send(null); xhr.onreadystatechange = function(){ if(xhr.readyState==4&&xhr.status==200){ var data = xhr.responseText; // 将字符串转换为数组 var provinces = data.split(","); // 遍历数组 for(var i=0;i<provinces.length;i++){ // 创建option元素添加到id为province元素上 var option = document.createElement("option"); var text = document.createTextNode(provinces[i]); option.appendChild(text); var province = document.getElementById("province"); province.appendChild(option); } } } } // 第二次执行Ajax异步请求 - 城市 var provinceEle=document.getElementById("province"); provinceEle.onchange = function(){ var city = document.getElementById("city"); var opts = city.getElementsByTagName("option"); for(var z=opts.length-1;z>0;z--){ city.removeChild(opts[z]); } if(province.value != "请选择"){ xhr.open("post","finaly.php"); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send("province="+province.value); xhr.onreadystatechange = function(){ if(xhr.readyState==4&&xhr.status==200){ var data = xhr.responseText; var cities = data.split(","); for(var i=0;i<cities.length;i++){ var option = document.createElement("option"); var text = document.createTextNode(cities[i]); option.appendChild(text); city.appendChild(option); } } } } } function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHttp"); } return xhr; } </script>
3. Le code PHP est le suivant : le nom du fichier est : finaly.php et est connecté à l'url du xhr.open(method,url) méthode en JS!
<?php // 接收客户端发送的请求数据 - state $state = $_REQUEST['state']; // 判断$state的值 if($state == 1){// 获取省份 echo '山东省,辽宁省,吉林省'; }else{// 获取城市 $province = $_POST['province']; switch ($province){ case '山东省': echo '青岛市,济南市,威海市,日照市,德州市'; break; case '辽宁省': echo '沈阳市,大连市,铁岭市,丹东市,锦州市'; break; case '吉林省': echo '长春市,松原市,吉林市,通化市,四平市'; break; } } ?>
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Comment lire des données Json avec ajax
Comment construire AJAX pour implémenter la conversion de formulaire JSON
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!