Maison interface Web js tutoriel Ajax implémente un simple effet d'option déroulante

Ajax implémente un simple effet d'option déroulante

Jan 10, 2018 am 09:58 AM
ajax dérouler 选项

L'éditeur suivant vous proposera un article pour implémenter un simple effet d'option déroulante en utilisant Ajax. L'éditeur pense que c'est plutôt bien. Maintenant, je partage le code source ajax avec tout le monde. Si vous êtes intéressé par ajax, suivez l'éditeur pour y jeter un œil

Ce sont essentiellement des étapes fixes ! Principalement des opérations en 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>
Copier après la connexion


<🎜. >2. Les étapes pour créer des options et exécuter des requêtes asynchrones AJAX en Javascript sont les suivantes


&lt;script&gt; 
  var xhr = getXhr(); 
  // 第一次执行Ajax异步请求 - 省份 
  window.onload = function(){ 
    xhr.open(&quot;get&quot;,&quot;finaly.php?state=1&quot;); 
    xhr.send(null); 
    xhr.onreadystatechange = function(){ 
    if(xhr.readyState==4&amp;&amp;xhr.status==200){ 
        var data = xhr.responseText; 
        // 将字符串转换为数组 
        var provinces = data.split(&quot;,&quot;); 
        // 遍历数组 
        for(var i=0;i&lt;provinces.length;i++){ 
          // 创建option元素添加到id为province元素上 
          var option = document.createElement(&quot;option&quot;); 
          var text = document.createTextNode(provinces[i]); 
          option.appendChild(text); 
          var province = document.getElementById(&quot;province&quot;); 
          province.appendChild(option); 
        } 
      }  
    } 
  } 
  // 第二次执行Ajax异步请求 - 城市 
  var provinceEle=document.getElementById(&quot;province&quot;); 
  provinceEle.onchange = function(){ 
    var city = document.getElementById(&quot;city&quot;); 
    var opts = city.getElementsByTagName(&quot;option&quot;); 
    for(var z=opts.length-1;z&gt;0;z--){ 
      city.removeChild(opts[z]); 
    } 
     
    if(province.value != &quot;请选择&quot;){ 
      xhr.open(&quot;post&quot;,&quot;finaly.php&quot;); 
      xhr.setRequestHeader(&quot;Content-Type&quot;,&quot;application/x-www-form-urlencoded&quot;); 
      xhr.send(&quot;province=&quot;+province.value); 
      xhr.onreadystatechange = function(){ 
        if(xhr.readyState==4&amp;&amp;xhr.status==200){ 
          var data = xhr.responseText; 
          var cities = data.split(&quot;,&quot;); 
          for(var i=0;i&lt;cities.length;i++){ 
            var option = document.createElement(&quot;option&quot;); 
            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(&quot;Microsoft.XMLHttp&quot;); 
    } 
    return xhr; 
  } 
 &lt;/script&gt;
Copier après la connexion
3

Le code PHP est le suivant : nom du fichier : enfin .php et JS : url docking de la méthode xhr.open(method,url) !

&lt;?php 
  // 接收客户端发送的请求数据 - state 
  $state = $_REQUEST[&#39;state&#39;]; 
  // 判断$state的值 
  if($state == 1){// 获取省份 
    echo &#39;山东省,辽宁省,吉林省&#39;; 
  }else{// 获取城市 
    $province = $_POST[&#39;province&#39;]; 
    switch ($province){ 
      case &#39;山东省&#39;: 
        echo &#39;青岛市,济南市,威海市,日照市,德州市&#39;; 
        break; 
      case &#39;辽宁省&#39;: 
        echo &#39;沈阳市,大连市,铁岭市,丹东市,锦州市&#39;; 
        break; 
      case &#39;吉林省&#39;: 
        echo &#39;长春市,松原市,吉林市,通化市,四平市&#39;; 
        break; 
    } 
  } 
?&gt;
Copier après la connexion
L'implémentation Ajax ci-dessus des effets d'options déroulants simples est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence ! !

Recommandations associées :

Une brève analyse des principes, avantages et inconvénients d'Ajax

ajax réalise la fonction de connexion longue entre serveur et navigateur

Implémentation Ajax du code de page d'actualisation programmée sans scintillement

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ouvrir les options Internet dans le navigateur Edge Comment ouvrir les options Internet dans le navigateur Edge Jan 03, 2024 pm 12:49 PM

Comment ouvrir les options Internet dans le navigateur Edge

Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Feb 20, 2024 am 10:07 AM

Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX

Comment résoudre l'erreur 403 de la requête jQuery AJAX Comment résoudre l'erreur 403 de la requête jQuery AJAX Feb 19, 2024 pm 05:55 PM

Comment résoudre l'erreur 403 de la requête jQuery AJAX

Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Mar 09, 2024 pm 05:36 PM

Comment obtenir des variables de la méthode PHP en utilisant Ajax ?

Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Feb 23, 2024 pm 04:27 PM

Comment résoudre le problème de l'erreur 403 jQuery AJAX ?

PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement Jun 06, 2024 pm 01:12 PM

PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement

Comprendre les frameworks Ajax : explorez cinq frameworks courants Comprendre les frameworks Ajax : explorez cinq frameworks courants Jan 26, 2024 am 09:28 AM

Comprendre les frameworks Ajax : explorez cinq frameworks courants

Échange de données asynchrone à l'aide des fonctions Ajax Échange de données asynchrone à l'aide des fonctions Ajax Jan 26, 2024 am 09:41 AM

Échange de données asynchrone à l'aide des fonctions Ajax

See all articles