我與幾個checkbox
的,用戶可以選擇多個值,像這樣得到了form
:jQuery的 - 從HTML元素中檢索值,並返回它們的總和
<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)。
到目前爲止,我一直在試圖獲得來自labels
的strings
與.text()
方法,使一個array
的結果,將它們轉換爲int
與parseFloat()
,總結數組元素... obviosly沒有成功。
這是我得到(肯定不是最好的方法,所以我開到diferent解決方案):
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);
對不起,認爲最好不要與其他代碼的問題複雜化。事情是我不能使用複選框中的值來做到這一點,因爲我已經在使用它來將結果發送到數據庫了。值是我如何識別用戶選擇的選項。 (編輯我的問題) – nienn 2011-04-28 21:33:28
@nienn看到我的更新 – Neal 2011-04-28 21:37:04
好的。由於我無法使用名稱attr(抱歉過分簡化),我創建了一個新的輸入[type = hidden],並將我想要的值(我從php獲得)複製到此輸入值attr。現在你的第一個建議很完美! Thx =) – nienn 2011-04-28 22:22:19