我想从所有选择菜单中收集所有值。但是在选择未正确添加的十进制数时。
var total = 0;
function calcTotal()
{
$("input:checked,select").each(function()
{
//This happens for each checked input field
var value = $(this).attr("value");
total += parseInt(value);
var prog = $('select[name="prog"] option:selected').text();
$("#prog1").val(prog);
var ticket = $('select[name="ticket"] option:selected').text();
$("#ticket1").val(ticket);
var skn = $('select[name="skn"] option:selected').text();
$("#skn1").val(skn);
var buy = $('input[name=buy]:checked').text()
$("#buy1").val(buy);
});
}
//This happens when the page loads
calcTotal();
$("#total").val(total);
$("input:checkbox, input:radio,select,selected").click(function()
{
total = 0;
calcTotal();
$("#total").val(total);
});
<form method="POST" >
<select name="logah" style="padding: 3px;">
<option value="0">--</option>
<option value="1" >1</option>
<option value="1.5" >1.5</option>
<option value="2.5" >2.5</option>
</select>
<select name="select2" style="padding: 3px;">
<option value="0">--</option>
<option value="1" >1</option>
<option value="2" >6</option>
</select>
我想从选择菜单中总结所有值。
答案 0 :(得分:2)
您尝试使用parseInt函数解析数字,该函数仅解析整数值(...,-1 0,1,2,3 ...)。将其更改为parseFloat,它应该可以正常工作。
其他方式是添加该字符串,当添加到其他数字时将转换为数字:
0 + "1.5" => 1.5 (number)
"" + "1.5 => "1.5" (string)