0
配列を使ってonblurの簡単な計算をしようとしていますが、発砲していません。私はそれをスパンまたはdivに変更するとうまく動作します。なぜそれが入力フィールドで動作しないのですか?スパンまたはdivの代わりに入力フィールドを持つ配列を計算する
データベースに値を保存する方が簡単なので、入力フィールドにする必要があります。
<input type="text" class="input-small" name="partnumber[]">
<input type="text" class="input-small" name="partdescription[]" >
<input type="text" class="input-small" name="partprice[]" onblur="doCalc(); calculate(); ">
<input type="text" class="input-small" name="partquantity[]" onblur="doCalc(); calculate(); ">
<input type="text" readonly class="input-small parttotal" name="parttotal[]" >
計算
function doCalc() {
var total = 0;
$('tr').each(function() {
$(this).find('.parttotal').html($('input:eq(2)', this).val() * $('input:eq(3)', this).val());
});
$('.parttotal').each(function() {
total += parseInt($(this).text(),10);
});
}
'$( 'TR')となりeach' - あなたは'いずれかを持っていません。
答えて
...ここで私は委任イベントを使用しました。まず、私はあなたが動的に任意のより多くの行を追加した場合、それはまだ動作しますここでは、利点をインラインイベントを使用することはありません。
次に、各行にある行ごとに何らかの種類のラッパーがあることを確認します。ここでは単純なDIVを使用しています。 Yousrは、あなたのTRかもしれません。..
ここに見られるように、その後、容易になる残り、私はちょうど価格、数量&合計、およびテストのために行う2行を含めました。この例..
出典
2016-11-09 16:27:14 Keith
入力フィールドにボタンを追加すると、名前は "partprice [2] name =" partprice [3]などとなります。 – JCD
あなたは、テキストボックスの値を設定するために
.html()
を使用することはできません。変更この行:
注
('.parttotal').html
が('.parttotal').val
出典
2016-11-09 16:38:11 ADyson
関連する問題