6

在我的 html 页面中,三个表单输入已经相互关联。第一个输入为带有选项的组合框:

  • 三氯乙酸
  • Intasept 第二和第三输入作为文本类型。

如果用户在第二个输入“01”中输入时第一个输入填充为“TCA”,则在第三个输入中自动填充“1-120”。如果第一个输入填充为“intasept”,当用户在第三个输入中输入第二个输入“01”时自动填充“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/

4

1 回答 1

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”区分大小写

还有你的如果没用所以我把它删了

于 2013-05-15T08:45:45.440 回答