0

私はいくつかのテキストフィールドを持っています

<input class="add" type="text">
<input class="add" type="text">
<input class="add" type="text">
<input class="add" type="text">
<p id="total"></p>

各フィールドの値は、ページが読み込まれるときに PHP スクリプトによって動的に追加されますが、ユーザーはそれらを編集するオプションがあります。javascript を使用してすべての値を合計し、#total p タグに出力する方法を見つけようとしています。私は周りにいくつかのスクリプトを見つけて、自分で書いてみましたが、うまくいきませんでした。

私が見つけた最高のものはこのように見えました....

function addAll() {
  var sum = ""

  var values = $('.add').each(function(){
    sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
  });

  $('#total').text(sum);
}
$('.add').keyup(displayTotal);

しかし、それは何も出力しませんでした

私は何か重大な間違いをしていますか?

乾杯

4

3 に答える 3

1
$('.add').keyup( function(){
  var sum = 0;

   $('.add').each(function(){
         sum +=  this.value && (this.value|0) && parseFloat( this.value ) || 0;
    });
   $('#total').text(sum);

});
于 2012-08-13T13:56:10.267 に答える
1

追加するのが数字の場合、これは機能するはずです:

function addAll() {
  var sum = 0;
  $('.add').each(function(){
    sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
  });

  $('#total').html(sum);
}
$('.add').keyup(addAll);  

デモ

これをページの読み込み時に機能させたい場合addAllは、.ready()関数に呼び出しを追加します。完全なコードは次のとおりです。

$(document).ready(function(){

  addAll();
  $('.add').keyup(addAll);  
})

function addAll() {
  var sum = 0;
  $('.add').each(function(){
    sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
  });

  $('#total').html(sum);
}
于 2012-08-13T13:58:13.180 に答える
1

変数合計 = 0;

合計 += isNaN($(this).val()) || $.trim($(this).val()) === '' ? 0 : parseFloat(this.val());

于 2012-08-13T13:53:28.300 に答える