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

如何使用JQuery填充级联下拉列表

郎建章
2023-03-14
问题内容

我有以下问题:

我开始用HTML和JS创建表单,并且有两个下拉菜单(国家和城市)。现在,我想使用JQuery使这两个动态,以便仅显示所选国家/地区的城市。

我从一些基本的JS入手,但效果不错,但在IE中却有些麻烦。现在,我正在尝试将JS转换为JQuery,以获得更好的兼容性。

我原来的JS看起来像这样:

function populate(s1, s2) {
    var s1 = document.getElementById(s1);
    var s2 = document.getElementById(s2);
    s2.innerHTML = "";
    if (s1.value == "Germany") {
        var optionArray = ["|", "magdeburg|Magdeburg", "duesseldorf|Duesseldorf", "leinfelden-echterdingen|Leinfelden-Echterdingen", "eschborn|Eschborn"];
    } else if (s1.value == "Hungary") {
        var optionArray = ["|", "pecs|Pecs", "budapest|Budapest", "debrecen|Debrecen"];
    } else if (s1.value == "Russia") {
        var optionArray = ["|", "st. petersburg|St. Petersburg"];
    } else if (s1.value == "South Africa") {
        var optionArray = ["|", "midrand|Midrand"];
    } else if (s1.value == "USA") {
        var optionArray = ["|", "downers grove|Downers Grove"];
    } else if (s1.value == "Mexico") {
        var optionArray = ["|", "puebla|Puebla"];
    } else if (s1.value == "China") {
        var optionArray = ["|", "beijing|Beijing"];
    } else if (s1.value == "Spain") {
        var optionArray = ["|", "barcelona|Barcelona"];
    }

    for (var option in optionArray) {
        var pair = optionArray[option].split("|");
        var newOption = document.createElement("option");
        newOption.value = pair[0];
        newOption.innerHTML = pair[1];
        s2.options.add(newOption);
    }
};

我知道这很简单,但是我看不到树木的木头。


问题答案:

它应该像

jQuery(function($) {
    var locations = {
        'Germany': ['Duesseldorf', 'Leinfelden-Echterdingen', 'Eschborn'],
        'Spain': ['Barcelona'],
        'Hungary': ['Pecs'],
        'USA': ['Downers Grove'],
        'Mexico': ['Puebla'],
        'South Africa': ['Midrand'],
        'China': ['Beijing'],
        'Russia': ['St. Petersburg'],
    }

    var $locations = $('#location');
    $('#country').change(function () {
        var country = $(this).val(), lcns = locations[country] || [];

        var html = $.map(lcns, function(lcn){
            return '<option value="' + lcn + '">' + lcn + '</option>'
        }).join('');
        $locations.html(html)
    });
});


 类似资料:
  • 问题内容: 我已经使用mvc进行了级联淹没。就像这样,如果您在第一个下拉列表中选择一个国家,则应该相应地填充第二个国家的状态。 此刻,一切似乎都很好,我得到了Json的响应(使用F12工具看到了它),它看起来像 我想知道如何用这些数据填充我的数据。我的第二个下拉菜单的ID是“ ”。任何帮助将不胜感激。 以下是用于从服务器生成JSON响应的代码: 下面是客户端HTML,我的剃刀代码和我的脚本。我想在

  • 问题内容: 我有以下jQuery代码。我可以从server获得以下数据。我该如何对此进行迭代,并用 另外,使用和之间有什么区别。 问题答案: 这应该可以解决问题: 这里的区别和(从jQuery的文档): [getJSON]是Ajax的简写功能,等效于: 编辑:要明确,部分问题是服务器的响应返回的是如下所示的json对象: …因此该属性需要使用手动解析。

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

  • 问题内容: 我正在开发一个国家/地区级联下拉列表…我基于返回了json结果,但我不知道如何在新的下拉列表框中填充/填充它。 这是我正在使用的 警报给了这个 我的aspx页面上有这个 关于如何填充下拉菜单的任何建议… 编辑: 当我通过萤火虫检查时,我收到了有关ajax帖子的回复, 问题答案: 例

  • 问题内容: 我的数据库包含国家和城市。 第一种情况-成功完成: 国家列表在页面加载的下拉框中填充 城市列表将在页面加载的下拉框中填充-填充的城市列表基于默认国家/地区。 第二种情况-无法成功: 用户更改国家 城市列表将根据所选国家/地区更改 我知道我必须使用jQuery / Ajax。我尝试过,但是由于缺乏编程经验,我无法解决问题。我的列表是从数据库而不是XML获取的。我只需要一个快速的解决方案,

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