JQuery:对输出值进行操作,但仍将其打印为用户类型



在我的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是行不通的?它只输出输入的数字。

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

this是指DOM输入字段。因此,您需要它的jQuery对象和该输入字段的.val()。将其解析为整数,因为字符串无法分割。然后将输出设置为跨度。

var $earned = this;是您的问题。请改用var $earned = this.val();

这就是您需要做的。

$(function(){
  $('#earned').change(function(){
    var num_val = $(this).val();
    if(num_val!="")
    {
        num_val = num_val/100
    }
    $('#amount').text(num_val+ '.00');
  });
});

相关内容

  • 没有找到相关文章

最新更新