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

时间:2013-05-15 08:33:42

标签: javascript jquery html

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

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

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

简单的逻辑。

  • first input =“TCA”(用户选择的选项)。
  • second input =“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/

1 个答案:

答案 0 :(得分:1)

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”Casesensitive

你的如果没有工作,所以我已将其删除