У меня есть следующий код, который работает, за исключением ограничения #result2
на 3 digits
current #result2: input 1 and you get 0.010416666666666666
needed #result2: input 1 and get 0.01
Мне нужно ограничить результат до 0.00 2 digits
после того, как это не будет длинным результатом.
Это будет использоваться для преобразования пикселей в дюймы для дизайнеров в рамках проекта для домашних животных.
** Что было бы действительно здорово, если бы результат фактически преобразуется в дюймы, например: ввод 1 и возврат 1/8, но не уверен, что это можно сделать???
Вот Html:
<label>Pixels</label>
<input class="calcd" id="calc3" type="text" />
<input class="calcd" id="calc4" type="hidden" value="96" />
<p>Inches</p><span id="result2"></span>
Вот JQuery:
$(document).ready(function(){
$(".calcd").keyup(function(){
var val1 = parseInt($("#calc3").val());
var val2 = parseInt($("#calc4").val());
if ( ! isNaN(val1) && ! isNaN(val2))
{
$("#result2").text(val1 / val2).toFixed(3);
}
});
});
Заранее спасибо!
Вот JSFIDDLE: http://jsfiddle.net/4ZdJL/
$("#result2").text(val1 / val2).toFixed(3);
Там твоя проблема. Вы хотите вызвать toFixed(3)
значение, прежде чем передать его в text()
.
$("#result2").text((val1 / val2).toFixed(3));
Может быть полезно пройти через отладчик в такие моменты, чтобы увидеть, где выражения оцениваются и как они работают.
- В основном toFixed конвертировать число в строку и применять только к String.
- Получите значения в разных переменных и сохраните результат в переменной и примените toFixed.
var val1 = parseInt($("#calc3").val());
var val2 = parseInt($("#calc4").val());
var result = (val1 / val2).toFixed(3);
2. Сохраните значение в текстовом поле.
$("#result2").text(result);
ИЛИ
$("#result2").val(result);