0

在我的 HTML 中,我有这个:

 <input type="text" name="earned" id="earned">  
 <p>You have: $<span id="amount"></span></p>

在我的 Javascript 文件中,我有这个:

$(function(){
    $('#earned').keyup(function(){
        var $earned = this;
        $earned = $earned/100;
        $('#amount').text($(earned).val()+ '.00');
    });
});

我为一个简单的计算器编写了这段代码。如果我想获取用户输入的内容并在他们输入时更改它,我将如何处理?为什么只是将其除以 100 不起作用?它只是输出输入的数字。

4

3 回答 3

1
$('#earned').keyup(function(){
    var $earned = parseInt($(this).val(), 10)/100; // .val() here
    $('#amount').html($earned+ '.00'); // Variable here
});

this指的是 DOM 输入字段。所以你需要那个和.val()那个输入字段的 jQuery 对象。将其解析为整数,因为字符串不能被分割。然后将输出设置为跨度。

于 2013-05-09T17:33:21.843 回答
0

这是你需要做的。

$(function(){
  $('#earned').change(function(){
    var num_val = $(this).val();
    if(num_val!="")
    {
        num_val = num_val/100
    }
    $('#amount').text(num_val+ '.00');
  });
});
于 2013-05-09T17:43:27.760 回答
0

var $earned = this;是你的问题。改为使用var $earned = this.val();

于 2013-05-09T17:32:47.830 回答