如何在 HTML 中获取运行时控制

how to get runtime control in html?

本文关键字:获取 运行时 控制 HTML      更新时间:2023-09-26

我正在创建一个项目,我想通过下拉列表获取地址,如果我从下拉列表中选择国家/地区,那么另一个下拉列表将应用,该下拉列表具有国家/地区的状态.与状态相同,依此类推直到要求?

您正在寻找"级联下拉列表"。实际上,您的第一个下拉列表在选择时会进行 ajax 调用,成功后会填充第二个下拉列表,依此类推。

这是一个非常常见的功能(可能是最常见的ajax自动完成功能),一两个谷歌会为你找到一些非常可靠的例子。

我强烈建议使用jQuery来完成这样的努力。

  <select name="country" onchange="showstate(this.value);">
//script code
 function showstate(ctr)
  {
if (ctr==" ")
{
    document.getElementById("txtHint").innerHTML="";
    return;
}
if (window.XMLHttpRequest)
{
    xmlhttp=new XMLHttpRequest();
}
else
{
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        var x=xmlhttp.responseText;
        var arr = new Array();
        var v=new Array();
        arr=x.split(",");
        // Create an Option object        
        document.getElementById("DropDownList").innerHTML='<option value="select">Select university</option>';
        for (var i=0;i<arr.length-1;i=i+2)
        {
            v[i]=arr[i];
            v[i+1]=arr[i+1];
            document.getElementById("DropDownList").innerHTML+="<option value="+v[i]+">"+v[i+1]+"</option>";
        }
       }
      }
   xmlhttp.open("GET","getstate.php?q="+ctr,true);
   xmlhttp.send();
  }

getstate.php

  <?php
     $q=$_GET["q"];
     $sql="SELECT DISTINCT `state` FROM `tbname` WHERE `country` = '$q'";
     $result=mysql_query($sql);
     $str='';
     while($row = mysql_fetch_array($result))
   {
    $str.=$row['country'].",";
   }
     echo $str;
?>