Я получил form
с несколькими checkbox
, где пользователь может выбрать несколько значений, например так:
<div>
<input id="myinput1" type="checkbox" value="choice_id_1" />
<label for="myinput1">5</label>
</div>
<div>
<input id="myinput2" type="checkbox" value="choice_id_2" />
<label for="myinput2">10</label>
</div>
<div>
<input id="myinput3" type="checkbox" value="choice_id_3" />
<label for="myinput3">10</label>
</div>
Мне нужно получить значения из каждого :selected
флажка label
и вернуть их общую сумму (то есть: всего = 25) .
До сих пор я пытался получить strings
из labels
с помощью метода .text()
, сделать array
с результатами, преобразовав их в int
с помощью parseFloat()
и суммировать массив элементы ... очевидно, безуспешно.
Это то, что я получил (наверняка, не лучший подход, поэтому я открыт для разных решений) :
function totalSum() {
var prices = $("input:checkbox:checked").siblings("label").text();
var myArray = $.makeArray(prices);
var total = 0;
for(var i = 0; i < myArray.length; i++){
var thisVal = parseFloat(myArray[i]);
if(!isNaN(thisVal)){
total += thisVal;
}
};
$(".mydiv").text(total);
};
totalSum();
$("input:checkbox").change(totalSum);