在我的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');
});
});