如何在javascript中生成相关表单上的函数

如何在javascript中生成相关表单上的函数,javascript,html,Javascript,Html,在我的html页面中,有三个表单输入已相互关联。 第一个输入为带有选项的组合框: TCA Intasept 第二个和第三个输入作为文本类型 当用户在第二个输入“01”中输入时,如果第一个输入填充为“TCA”,则第三个输入自动填充为“1-120”。 当用户输入第二个输入“01”时,如果第一个输入填充为“intasept”,则第三个输入自动填充为“1-32” 关于简单逻辑 第一个输入=“TCA”(用户选择的选项) 第二次输入=“01”(用户手动输入) 第三输入=“1-120”(自动输入) 这

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

  • TCA
  • Intasept 第二个和第三个输入作为文本类型
当用户在第二个输入“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中创建此函数

使用jQuery,这个简单的脚本可以做到:

jQuery(function($) {
    var interval, step;
    $("input[name=firstComboBox]").change(function(e) {
        if (this.checked)
            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*step+interval));
    }
});


您可能不使用jQuery,而是使用其他方法来等待domready和附加事件,您可能需要根据实际的DOM结构(输入名称/ID)对其进行调整,但它应该让您知道应该如何进行操作。

您自己尝试过什么吗?还没有完成…我仍然尝试着一个好主意,现在,我的重点是当用户在intasept的第二次输入中输入“1”时,如何使该值从01-32开始,而TCAi的01-120将此代码修改为这样,并且此脚本未运行,这是怎么回事?我不知道如果(this.option:selected)应该做什么。从
框中,只需获取
.value
属性(或者获取
.selectedIndex
,然后从
.options
中获取相应的
)。以下是工作更新: