我想要做一個對我來說很奇怪的表單。使用jquery來操縱表單的複選框
基本概念是我的表單中有一列產品複選框,如果您選擇該產品,則需要檢查相關產品複選框。
在表格中,我有另外兩欄是產品的價格和尺寸。我想要計算價格的數量和尺寸取決於哪些產品正在打勾。目前爲止我只能獲得正在檢查的產品的價值,而不是價格和尺寸的價值。另外,如何動態地進行計算。
下面是HTML,http://jsfiddle.net/DDEzm/2/
希望有人可以幫助,非常感謝。
我想要做一個對我來說很奇怪的表單。使用jquery來操縱表單的複選框
基本概念是我的表單中有一列產品複選框,如果您選擇該產品,則需要檢查相關產品複選框。
在表格中,我有另外兩欄是產品的價格和尺寸。我想要計算價格的數量和尺寸取決於哪些產品正在打勾。目前爲止我只能獲得正在檢查的產品的價值,而不是價格和尺寸的價值。另外,如何動態地進行計算。
下面是HTML,http://jsfiddle.net/DDEzm/2/
希望有人可以幫助,非常感謝。
試試這個,這個解決方案是基於你的標記:
$(function(){
$('#cb1').live('change',function(){
if ($(this).is(':checked')) {
var val = 0;
val = parseInt($('#tb1').val(), 10) + parseInt($('#tb2').val(), 10)
$('#presult').val(val)
} else {
$('#presult').val('0')
}
});
});
所有你需要做的就是值如下:
$(function(){
$("[name='chkProduct']").live('change',function(){
var totalCost = 0;
$("[name='chkProduct']").each(function(i){
if($(this).attr("checked")) {
var price = $(this).parent().next().find("[name='price']").val();
var size= $(this).parent().next().next().find("[name='size']").val();
totalCost = totalCost + (price * size);
$("#presult").val(totalCost);
}
});
});
});
但你可能要添加檢查,以確保它是您要添加的數字,無論是通過限制輸入,或者檢查你點擊複選框的時間。例如,您可以使用javascripts parseInt
。
此外,您可以有一個名稱或類來標識複選框。這樣您就不必爲每個複選框編寫更改功能。
編輯
我修改它,這樣它會與所有複選框工作,caluculate總。
你是如何存儲的價格和大小?它沒有在你的小提琴中指出? – dcpomero 2012-07-17 02:33:44
我剛纔設置的所有文本框都被禁用了。 – A7bert 2012-07-17 02:35:14
tb1,tb2,tb3,tb4是價格和尺寸? – Cauliturtle 2012-07-17 02:36:07