jQuery KeyUp不允许更多的值

时间:2013-06-10 19:01:44

标签: jquery onkeydown onkeyup

我是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

1 个答案:

答案 0 :(得分:0)

您似乎甚至会覆盖生成事件的文本框的值。

替换

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

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

修改

原因是你总是从

中读取价值
var valx = parseFloat($(this).attr('data-val'));

而不是

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

<强> Check Fiddle