0

キーアップ時に関数をトリガーする次のjQueryがあります。

$(document).ready(function() {
  $("#calc").on("keyup", "input[type='text']", function() {
  calculateSum(this);
  });
calculateSum();
});

ここにある関数 calculateSum : http://jsfiddle.net/pmetzger/ANp8u/2/

デフォルト値として入力フィールドに値をロードすると、キーアップではないため、明らかにcalculateSumはトリガーされません。

ただし、時々入力フィールドにデフォルト値をロードできるようにする必要があり、計算が必要な値がある場合に備えて、ロード時に calculateSum 関数をトリガーする必要があります。document.ready の最後に calculateSum() 関数を追加しましたが、グローバルな小計のみをロードします。値フィールドにキーを入力しているかのように実行する必要があります。イベントのトリガーも試みましたが、運もありませんでした。

テスト用にいくつかのデフォルト値をそこに入れました。

4

3 に答える 3

0

入力でトリガーを呼び出すか、次のように手動で関数を実行する必要があります。

$(document).ready(function() {
  //Bind the event
  $("#calc").on("keyup", "input[type='text']", function() {
    calculateSum(this);
  }).find("input[type='text']").each(function() {
      calculateSum(this);
  });
});
于 2013-05-07T18:59:28.333 に答える
0

これを行うと、最初の要素で bind イベントをトリガーできます。X 要素が実行されるため、すべての要素でトリガーする必要はありません。

$(document).ready(function() {
  $("#calc").on("keyup", "input[type='text']", function() {
     calculateSum(this);
  });
  $("input[type='text']").trigger("keyup");
});
于 2013-05-07T18:57:06.490 に答える