javascript - 如何制作与组合框选项相关的功能

标签 javascript jquery html

在我的 html 页面中,有三个表单输入相互关联。 首先输入带有选项的组合框:

  • TCA
  • 内测 第二和第三个输入为文本类型。

如果当用户在第二个输入中输入“01”时第一个输入填充为“TCA”,那么在第三个输入中自动填充“1-120”。 如果当用户在第二个输入中输入“01”时,第一个输入填充为“intasept”,第三个输入自动填充为“1-32”。

简单的逻辑。

  • 第一个输入 = "TCA"(用户选择的选项)。
  • 第二个输入 = "01"(用户手动输入)。
  • 第三个输入 = "1-120"(自动输入)。

这将以间隔 120 继续。例如:

  • 第二个输入:02:03 依此类推。
  • 第三个输入:121-240:241-360 等等。

如果在第一个输入中 = Intasept(用户选择的选项)。

  • 第二个输入 = 01(用户手动输入)。
  • 第三个输入 = 1-32(自动输入)。
  • 这将以间隔 32 继续。

例如:

  • 第二个输入:02:03 等等。
  • 第三个输入:32-64:65-96等等。

帮助我如何在 javascript 中实现这个功能。 这个,我已经尝试过了,但是没有运行

var interval, step;
$("#first").change(function (e) {
    if (this.option:selected) interval = { // map of input value attributes to interval values
        "TCA": 120,
        "intasept": 32
    }[this.value];
    update();
});
$("#secondInput").on("change keyup input paste", function (e) {
    step = parseInt(this.value, 10);
    update();
});

function update() {
    if (isNaN(interval) || isNaN(step)) return;
    $("#thirdInput").val(((interval * step + 1)-interval) + "-" + ((interval * step + interval)-interval));
}

http://jsfiddle.net/n8pSt/

最佳答案

http://jsfiddle.net/QXFKL/5/

if (this.option:selected) interval = { // map of input value attributes to interval values
    "TCA": 120,
    "intasept": 32
}[this.value];

但是您得到的值是“Intesept”区分大小写

还有你的 if 不起作用,所以我已经删除了它

关于javascript - 如何制作与组合框选项相关的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16560313/

相关文章:

javascript - 如何阻止 jQuery 页面元素重复?

javascript - 如何在传单中添加非引用图像作为叠加层

javascript - 返回具有参数传递的长度属性的数组

javascript - Ember.js 2.2 - 如何从组件更新路由模型?

javascript - jQuery 的 crossdomain.xml?

javascript - 如何使用 PHP 变量运行 JavaScript

javascript - 径向动画因桌面和移动设备而异

javascript - 单击后如何隐藏子菜单

html - 三级 CSS 下拉菜单

html - 基础框架 : How can I get multiple links in a mobile drop-down to be horizontally aligned and not stacked?