2017-01-04 2 views
0

Когда пользователь вводит значение в поле ввода, значения 1 & 2 не изменяются на веб-странице. Как я могу это решить?Как обновить значения с помощью ползунка диапазона?

<p id="value1">Roll Below: 47.5</p> 
<p id="value2">Multiplier: 2</p> 
<form> 
    <input id="range" type="range" name="rangeInput" min="0.01" step="0.01" max="94" value="47.5" class="white" onchange="updateTextInput(this.value);" oninput="amount.value=rangeInput.value"> 
    <input oninput="rangeInput.value=amount.value" id="box" type="text" value="0" name="amount" for="rangeInput" oninput="rangeInput.value=amount.value" /> 
</form> 

JS

function updateTextInput(val) { 
    var value1 = document.getElementById("range").value; 
    document.getElementById('value1').innerHTML = "Roll Below: "+value1; 

    var value2 = (0.95/value1 * 100).toFixed(2); 
    document.getElementById('value2').innerHTML = "Multiplier: "+value2; 
} 

DEMO: http://codepen.io/hokaien/pen/qRBgEg

+0

Возможно дублирование: http://stackoverflow.com/questions/18544890/onchange-event-on-input-type-range-is-not-triggering-in-firefox-while-dragging –

ответ

1

Вы можете использовать onkeyup:

function updateTextInput(val) { 
 
    var value1 = document.getElementById("range").value; 
 
    document.getElementById('value1').innerHTML = "Roll Below: " + value1; 
 

 
    var value2 = (0.95/value1 * 100).toFixed(2); 
 
    document.getElementById('value2').innerHTML = "Multiplier: " + value2; 
 
}
<p id="value1">Roll Below: 47.5</p> 
 
<p id="value2">Multiplier: 2</p> 
 
<form> 
 
    <input id="range" type="range" name="rangeInput" min="0.01" step="0.01" max="94" value="47.5" class="white" onchange="updateTextInput(this.value);" oninput="amount.value=rangeInput.value"> 
 
    <input oninput="rangeInput.value=amount.value" id="box" type="text" value="0" name="amount" for="rangeInput" onkeyup="updateTextInput(this.value);" oninput="amount.value=rangeInput.value" /> 
 
</form>

+0

Когда вы вводите 2 цифры на вход , он обновляет только первую цифру. –

+0

@kaien, что вы имеете в виду? Он отлично работает для обоих значений, даже когда вы вводите 2 цифры на входе. Сделайте 'console.log (value1);', чтобы увидеть его изменение. Также вы можете видеть, как он меняется в реальном времени. – Ionut

+0

@ lonut eg. когда вы вводите 10 во вход, даже если значение 1 и слайдер обновляется, значение 1 на веб-странице остается неизменным. –

Смежные вопросы