6

私のhtmlページには、互いに関連している3つのフォーム入力があります。オプション付きのコンボボックスとしての最初の入力:

  • TCA
  • 2 番目と 3 番目の入力をテキスト タイプとして入力します。

最初の入力が「TCA」で、ユーザーが 2 番目の入力で「01」を入力した場合、3 番目の入力で自動的に「1-120」が入力されます。最初の入力が「intasept」の場合、ユーザーが 2 番目の入力で「01」を入力すると、3 番目の入力で自動的に「1-32」が入力されます。

簡単なロジックで。

  • 最初の入力 = "TCA" (ユーザーが選択したオプション)。
  • 2 番目の入力 = "01" (ユーザーによる手動入力)。
  • 3回目の入力=「1~120」(自動入力)。

これは間隔 120 で続行されます。例:

  • 2 番目の入力: 02: 03 など。
  • 3 番目の入力: 121-240: 241-360 など。

最初の入力の場合 = Intasept (ユーザーが選択したオプション)。

  • 2 番目の入力 = 01 (ユーザーによる手動入力)。
  • 3 番目の入力 = 1 ~ 32 (自動入力)。
  • これはインターバル 32 まで続きます。

元:

  • 2 番目の入力: 02: 03 など。
  • 3 番目の入力: 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 に答える