Я собираюсь суммировать несколько входов вместе с выбором, радио и текстом.Несколько типов ввода sum
У меня есть следующий код, который работает, но отменяет каждый другой вход, я ищу, чтобы добавить их все вместе.
Я знаю, что был бы лучший способ структурировать это, но я не могу найти хорошее решение.
Посмотреть
<select>
<option value='0.0'>Product 1</option>
<option value='0.5'>Product 2</option>
<option value='1.0'>Product 3</option>
<option value='0.5'>Product 4</option>
</select>
<h4>Desired price</h4>
<input class="inputBox form-control" type="text" id="desired_price" >
<form>
<label class="radio inline">
<input type="radio" name="location" value="0.1" > location 1
</label>
<label class="radio inline">
<input type="radio" name="location" value="0.1" > location 2
</label>
<label class="radio inline">
<input type="radio" name="location" value="0.4" > location 3
</label>
<label class="radio inline">
<input type="radio" name="location" value="0.7" > location 4
</label>
<label class="radio inline">
<input type="radio" name="location" value="1.0" > location 5
</label>
</form>
<b id="score_total">0</b>
JQuery
$(document).ready(function() {
var desiredPrice = document.getElementById("desired_price");
desiredPrice.onkeyup = calc;
function calc() {
document.getElementById("score_total").innerHTML = parseFloat(desiredPrice.value).toFixed(1);
}
// All radios sum gathered
$('input[type=radio]').change(function(){
var total = 0;
$('input[type=radio]:checked').each(function(){
total += Number($(this).val());
});
$('#score_total').html(total);
});
// select
$('select').change(function(){
var variety = 0;
$('select :selected').each(function() {
variety += Number($(this).val());
});
$('#score_total').html(variety);
});
});
Кажется, вы не закрыли входные тегов –
В принципе, вы должны проверить текущие значения для всех входов на каждое изменение/событии: так, при нажатии клавиш, когда пользователь находится в текстовом поле , сначала проверьте значения радиоприемников и выберите, когда нажата радиостанция, проверьте значение текстового поля и выберите значение и т. д. ... и соответственно измените общее количество. – sinisake