3 下拉菜单根据另一个[级联下拉菜单]中的选择进行填充

2023-11-21

我是 Java 脚本新手。这里我有 2 个下拉菜单的工作示例Fiddle .

HTML:

<select id=a></select>
<select id=b></select>
<select id=c></select>

JavaScript:

var data = [ // The data
    ['ten', [
        'eleven','twelve'
    ]],
    ['twenty', [
        'twentyone', 'twentytwo'
    ]]
];

$a = $('#a'); // The dropdowns
$b = $('#b');

for(var i = 0; i < data.length; i++) {
    var first = data[i][0];
    $a.append($("<option>"). // Add options
       attr("value",first).
       data("sel", i).
       text(first));
}

$a.change(function() {
    var index = $(this).children('option:selected').data('sel');
    var second = data[index][2]; // The second-choice data

    $b.html(''); // Clear existing options in second dropdown

    for(var j = 0; j < second.length; j++) {
        $b.append($("<option>"). // Add options
           attr("value",second[j]).
           data("sel", j).
           text(second[j]));
    }
}).change(); // Trigger once to add options at load of first choice

让我知道如何在此代码中添加一个下拉菜单。

Thanks


尝试这样的事情..我不得不稍微改变一下结构data目的。接下来要获取下拉菜单的值,您可以这样做.val()

var data = {
    'ten': {
        'eleven': [11, 1111, 111111],
        'twelve': [12, 1212, 121212]
    },
    'twenty': {
        'twentyone': [21, 2121, 212121],
        'twentytwo': [22, 2222, 222222]
    }
},
$a = $('#a'); // The dropdowns
$b = $('#b');
$c = $('#c');

for (var prop in data) {
    var first = prop;
    $a.append($("<option>"). // Add options
    attr("value", first).
    text(first));
}

$a.change(function () {
    var firstkey = $(this).val();
    $b.html(''); // Clear existing options in second dropdown
    for (var prop in data[firstkey]) {
        var second = prop;
        $b.append($("<option>"). // Add options
        attr("value", second).
        text(second));
    }
    $b.change();
}).change(); // Trigger once to add options at load of first choice

$b.change(function () {
    var firstKey = $a.val(),
        secondKey = $(this).val();
    $c.html(''); // Clear existing options in second dropdown
    for(var i = 0; i < data[firstKey][secondKey].length; i++) {
        var third = data[firstKey][secondKey][i]
        $c.append($("<option>"). // Add options
        attr("value", third).
        text(third));
    }
    $c.change();
}).change();

检查小提琴

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3 下拉菜单根据另一个[级联下拉菜单]中的选择进行填充 的相关文章

随机推荐

  • 用C代码编写二进制数字系统[重复]

    这个问题在这里已经有答案了 当我们使用0x十六进制数字的前缀 以及0对于八进制数 对于二进制数有什么可以做的吗 我尝试过b后缀 但是GCC不允许 错误 整数常量上的后缀 b 无效 是否可以 标准 C 没有定义二进制常量 不过有一个 GNU
  • 如何获得逻辑回归中 ROC 的最佳截止点作为数字

    我想将逻辑回归中 ROC 的最佳截止点作为数字而不是两条交叉曲线 使用下面的代码 我可以获得显示最佳点的图 但在某些情况下 我只需要该点作为可用于其他计算的数字 以下是代码行 library Epi ROC form IsVIP var1
  • D3:通过鼠标悬停查找图形 y 坐标

    我正在使用 D3 制作交互式面积图 将鼠标悬停在面积图上时 我希望有一个点沿着图表顶部滚动 如下例所示 http hci stanford edu jheer files zoo ex time multiples html 一旦获得鼠标位
  • 使用 heapy 追踪 Django 应用程序中的内存泄漏

    我在这里关注了如何使用 Django 设置 heapy 的优秀帖子 http www toofishes net blog using guppy debug django memory leaks 我已经命令 hp setref 现在过了
  • 带有 id 和逗号的 jQuery 选择器

    我在用我的表格网格在我的网页中显示类似 Excel 的控件 对于表 1 第 0 列 第 2 行 单元格使用诸如 mtgIC1 0 2 之类的 id 进行引用 不幸的是 当我尝试使用带有此 id 的 jQuery 选择器时 mtgIC1 0
  • 如何为一个类实例化多个 CDI/Weld bean?

    在 Spring 中 可以通过在 xml conf 中定义相应的 bean 来实例化任何类 也可以使用不同的参数为同一类实例化多个 bean CDI 中是否也有这样的功能 即是否可以使用不同的初始化参数创建同一类的不同实例 是否也可以在不更
  • 如何用 Java 测试互联网的可用性?

    当我从 url openStream 捕获异常时 我不想告诉大家互联网不可用 有没有一种简单的方法可以用Java判断计算机是否连接到互联网 在这种情况下 连接到互联网 意味着能够从特定的 URL 下载数据 如果我尝试从中下载但它不可用 则程
  • hibernate 验证器 - 创建、更新、删除时的不同组

    使用 bean 验证 特定的 hibernate 验证器实现是否可以定义某些组以自动用于某些 CRUD 操作 例如创建或更新 或者是否有一些内置的休眠组可以在内部检查这些操作 您可能正在寻找 Hibernate 基于事件的验证 under
  • 如果在 uib-tabset 中使用,值不会与作用域的变量绑定

    如果在内部使用 值不会与作用域的变量绑定uib 选项卡集 在下面的例子中我试图得到 scope messageuib tab 内部和外部 angular module app ui bootstrap controller myctrlr
  • MongoDB 聚合期间“服务器 x 超时”

    我有一个定期对 mongodb 集合运行聚合的脚本 随着数据集的增长 聚合所需的时间也随之增长 我的聚合脚本最近停止工作 错误日志显示 error MongoError server
  • WPF Toolkit Datagrid - 如何关闭选择?

    我在 WPF 中有一个数据网格 我将其绑定到一个对象 我在那里有一个 DataGridCheckBoxColumn 我希望用户能够浏览并勾选他们想要的 问题是他们必须单击两次 一次用于选择 然后再次单击 取消选中 你到底如何关闭这个功能 我
  • php获取唯一子数组[重复]

    这个问题在这里已经有答案了 我想在 PHP 中获得一个解决方案 以获取基于子数组基础的唯一数组 像这样 Array 0 gt Array 0 gt 1227 1 gt 146 2 gt 1 3 gt 39 1 gt Array 0 gt 1
  • 使用文本溢出:省略号;仅当达到 div 中的 3 行时[重复]

    这个问题在这里已经有答案了 这是我的 css 片段 test width 150px height 60px white space nowrap overflow hidden text overflow ellipsis o text
  • bouncycastle 连接到 android studio

    一天中的好时光 我需要以某种方式将 bouncycastle 库连接到 android studio 如何才能做到这一点 我以前从未处理过 这是我需要这个库的代码 Security addProvider new org bouncycas
  • 从 ArrayAdapter 获取FragmentManager

    我有一个由自定义 ArrayAdapter 填充的 listView 每个视图中都有一个按钮 我想在单击按钮时更改当前片段 这是我的代码 public class CheckInSArrayAdapter extends ArrayAdap
  • 求列表中向量的平均值

    我有一个 Vector3 列表 每个都有 x y z 值 List
  • 为什么两个不同对象上的哈希函数返回相同的值?

    我使用Spyder 运行Python 2 7 刚刚发现有趣的事情 hash 1 和hash 2 都返回 2 有问题吗 我认为不同对象上的哈希函数应该返回不同的值 我读过以前的文章 说 1 在 Python 中被保留为错误 hash s 返回
  • C# 支持返回类型协方差吗?

    我正在使用 NET 框架 我真的希望能够制作我的所有网站都使用的自定义类型的页面 当我尝试从控件访问页面时 问题就出现了 我希望能够返回特定类型的页面而不是默认页面 有什么办法可以做到这一点吗 public class MyPage Pag
  • 如何使用 PHP 在 heroku 上发送电子邮件?

    我已经创建了 PHP 应用程序并使用 heroku 进行了部署 在应用程序中 我有联系表格可以将邮件发送到我的 Gmail 帐户 为了实现这一点 我编写了以下 PHP 代码
  • 3 下拉菜单根据另一个[级联下拉菜单]中的选择进行填充

    我是 Java 脚本新手 这里我有 2 个下拉菜单的工作示例Fiddle HTML