当前位置: 首页 > 面试题库 >

如何使用AJAX根据国家列表填充状态列表?

乔凯康
2023-03-14
问题内容

我下面的代码将在您更改国家/地区列表时更改状态下拉列表。
仅当选择国家ID号234和224时,如何才能更改状态列表?
如果选择了另一个国家,则应将其更改为此文本输入框

<input type="text" name="othstate" value="" class="textBox">

表格

<form method="post" name="form1">
<select style="background-color: #ffffa0" name="country" onchange="getState(this.value)">
<option>Select Country</option>
<option value="223">USA</option>
<option value="224">Canada</option>
<option value="225">England</option>
<option value="226">Ireland</option>
</select>

<select style="background-color: #ffffa0" name="state">
<option>Select Country First</option>
</select>

JavaScript

<script>
function getState(countryId)
{
   var strURL="findState.php?country="+countryId;
   var req = getXMLHTTP();
   if (req)
   {
     req.onreadystatechange = function()
     {
      if (req.readyState == 4)
      {
     // only if "OK"
     if (req.status == 200)
         {
        document.getElementById('statediv').innerHTML=req.responseText;
     } else {
       alert("There was a problem while using XMLHTTP:\n" + req.statusText);
     }
       }
      }
   req.open("GET", strURL, true);
   req.send(null);
   }
}
</script>

问题答案:

只需在执行AJAX请求之前检查countryId值,并且仅在countryId在允许范围内时才执行请求。在countryId不匹配的情况下,我将隐藏选择(也可能清除其值),并显示一个先前已隐藏的现有输入。如果选择允许的国家,则相反。

下面的jQuery示例:

<form method="post" name="form1">
   <select style="background-color: #ffffa0" name="country" onchange="getState(this.value)">
      <option>Select Country</option>
      <option value="223">USA</option>
      <option value="224">Canada</option>
      <option value="225">England</option>
      <option value="226">Ireland</option>
   </select>

   <select style="background-color: #ffffa0" name="state">
      <option>Select Country First</option>
   </select>

   <input type="text" name="othstate" value="" class="textBox" style="display: none;">
</form>

$(function() {
    $('#country').change( function() {
        var val = $(this).val();
        if (val == 223 || val == 224) {
            $('#othstate').val('').hide();
            $.ajax({
               url: 'findState.php',
               dataType: 'html',
               data: { country : val },
               success: function(data) {
                   $('#state').html( data );
               }
            });
        }
        else {
           $('#state').val('').hide();
           $('#othstate').show();
        }
    });
});


 类似资料:
  • 问题内容: 希望有人可以帮助我编写SQL脚本或函数。 我有一个数据源,我希望该功能通过并基于2个指定的列填充相关列。 因此,名称和值列。 例如 因此,脚本/函数应该为数据源的每一行分别在a,b,c,d列中填充值2,1、3、5。 这可能吗?如果是这样,有人可以教我如何做。 问题答案: Oracle安装程序 : 更新声明 : 输出 : Oracle安装程序 : 插入语句 : 输出 :

  • 我有一个包含5列的mysql数据库表。 id,columnA,columnB,columnC,columnD 我用这些值填充datatable,因此每列有2个(不同的)值。 我希望用户可以从下拉列表中选择这些值。当他/她从columnA中选择第一个数据时,columnB值会根据所选值出现在另一个选择框中。等等..所以我想我需要使用Ajax-jQuery。这是我使用的脚本, 和php代码。 我得到了

  • 问题内容: 如何用对象类型的列表中的值填充JTable。我的代码如下所示: 我已经有了列,列表将来自schedule变量?考虑这些列,如何将其放到表中? 问题答案: 看一下DefaultTableModel。您可以遍历List并为每一行创建Object数组。

  • 问题内容: 就像标题中所说的那样,尽管我对尚未付诸实践的理论很熟悉,但我仍在尝试使用jQuery,JSON和AJAX创建下拉菜单,因此,任何建议,演示代码段或教程都将不胜感激,因为我想开始最好的开始! 提前感谢! 问题答案: 您需要执行$ .getJSON调用以从document.load或其他一些事件http://api.jquery.com/jQuery.getJSON/上的服务器中获取jso

  • 例如,让我们假设,在表1中,我有以下列 在表2中,我有相同的两列,但有5000行。让我们考虑5行, 现在,在我的工作表2中,我有5000行,A列填充了,但我希望根据工作表1中的值自动填充B列。我尝试过使用间接函数,但没有成功。我使用的公式是,其中test是我的工作表名。谁能告诉我这个问题出在哪里,或者有没有其他方法来解决这个问题?谢谢你。

  • 问题内容: 我知道在这个问题上有很多问题,但是我仍然不确定该怎么做。 我有一个名为“ CuisineForm”的HTML表单,在用户选择了美食类型之后,AJAX将该表单发送到服务器。AJAX调用工作正常,并且服务器以JSON响应进行响应,其中包含此特定美食的所有服务时间。这些服务时间分为早餐,午餐和晚餐。 这些时间需要以相同的形式填充到3个单独的下拉菜单中。 但我真的不知道如何处理JSON结果以填