2013-05-09 1 views
0

В моем HTML я это:JQuery: Операции по выходному значению, но по-прежнему держать его печати в качестве пользовательских типов

<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 не работает? Он просто выводит введенное число.

+0

Почему бы не уменьшить это до «$ ('# amount»). Text ($ (this) .val()/100); '? – j08691

ответ

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

this относится к области ввода DOM. Поэтому вам нужен объект jQuery этого и .val() этого поля ввода. Разделите это на целое число, потому что строки нельзя разделить. А чем установить выход в диапазон.

0

var $earned = this; - это ваша проблема. Вместо этого используйте var $earned = this.val();.

0

Это то, что вам нужно сделать.

$(function(){ 
    $('#earned').change(function(){ 
    var num_val = $(this).val(); 
    if(num_val!="") 
    { 
     num_val = num_val/100 
    } 
    $('#amount').text(num_val+ '.00'); 
    }); 
}); 
Смежные вопросы