1

私はjavascript(およびjQuery)が初めてなので、ご容赦ください。

ユーザーがテキストボックスに数値を入力できるようにしたいのですが、ユーザーが別の値 (キープレス、キーダウン、キーアップ) を入力するたびに、コードが実行され、新しい値が計算されます。

ここにjsFiddleがあります

私の問題は、テキストボックスに複数の値を入力できないことです。より多くの値を入力し続けるにはどうすればよいですか?

jQuery (1.9.1)

$(document).ready(function() {
    $('.conv').keyup(function() {
      var valx = parseFloat($(this).attr('data-val'));
      var classes = parseInt($('.conv').length);

      for (var i=1;classes;i++) {
          var x = 'a' + i;
          //alert(x);
          var theval = document.getElementById(x);
            var z = parseFloat($('#' + x).attr('data-val'));
            //alert(z);
            $('#' + x).val(z / valx);
        if (i == classes) {
        break;
        }
    }
    });
 });

繰り返します...編集したい場合は、ここにjsFiddleがあります

4

1 に答える 1

0

イベントを生成したテキストボックスの値も上書きしているようです..

交換

$('#' + x).val(z / valx);

$('#' + x).not(this).val(z / valx);

編集

その理由は、常に値を読み取っているためです。

var valx = parseFloat($(this).attr('data-val'));

それ以外の

var valx = parseFloat($(this).val());

フィドルをチェック

于 2013-06-10T19:12:30.387 に答える