1

我是 javascript(和 jQuery)的新手,所以请耐心等待。

我希望用户能够在文本框中输入一个数字,并且每次用户输入另一个值(keypress、keydown、keyup)时,代码都会执行并计算新值。

这是一个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 回答