我正在尝试做一个对我来说很奇怪的表格。
基本概念是我的表单中有一列产品复选框,如果您选择该产品,则需要检查相关产品复选框。
在表格中,我还有另外两列是产品的价格和尺寸。我想计算价格和尺寸的数量取决于打勾的产品。到目前为止,我只获得了正在检查的产品的价值,而不是价格和尺寸的价值。另外,如何动态进行计算。
这是html,http://jsfiddle.net/DDEzm/2/
希望有人能帮忙,非常感谢。
我正在尝试做一个对我来说很奇怪的表格。
基本概念是我的表单中有一列产品复选框,如果您选择该产品,则需要检查相关产品复选框。
在表格中,我还有另外两列是产品的价格和尺寸。我想计算价格和尺寸的数量取决于打勾的产品。到目前为止,我只获得了正在检查的产品的价值,而不是价格和尺寸的价值。另外,如何动态进行计算。
这是html,http://jsfiddle.net/DDEzm/2/
希望有人能帮忙,非常感谢。
要获得该值,您需要做的事情如下:
$(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
。
此外,您可以有一个名称或类来识别复选框。这样您就不必为每个复选框编写更改函数。
编辑
我对其进行了修改,以便它可以与所有复选框一起使用并计算总数。
试试这个,这个解决方案是基于你的标记:
$(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')
}
});
});