Javascript 如果复选框未选中,则动态表为空()

Javascript 如果复选框未选中,则动态表为空(),javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个动态表,在一个td中,它通过php的价格值,在表的末尾是这些价格的总和。默认选中的每一行中都有一个复选框。我需要清空复选框未选中的行的内容,以便将该价格值从总和计算中删除 问题是,这是否会删除该值?我知道,将td字段设置为隐藏并不正确 值单元格: <td style="width:10%" class="rowDataSd" id="value"> <?php echo str_replace(array(".", ",",), array("", "

我有一个动态表,在一个td中,它通过php的价格值,在表的末尾是这些价格的总和。默认选中的每一行中都有一个复选框。我需要清空复选框未选中的行的内容,以便将该价格值从总和计算中删除

问题是,这是否会删除该值?我知道,将td字段设置为隐藏并不正确

值单元格:

<td style="width:10%" class="rowDataSd" id="value">
    <?php echo 
    str_replace(array(".", ",",), array("", "."), $row['rad_iznos']);

    ?>
</td>
我可以将唯一值传递到每个复选框中,并将值元素传递到id中,如:

id="<?php echo $row['rad_id']?>"
id=“”
。因此,它们相互关联,但不知道如何在JS中清空这些元素

我也在想,如果在某一行中复选框未选中,则为空,id=“value”。我想这是最好的解决方案,但我不知道怎么写

或者,即使未选中该复选框,也可以将css class.rowDataSd删除到最接近的td,id=“vale”根据谁进行计算。 求和脚本:

       var totals=[0,0,0];
        $(document).ready(function(){

            var $dataRows=$("#sum_table tr:not('.totalColumn, .titlerow')");

            $dataRows.each(function() {
                $(this).find('.rowDataSd').each(function(i){        
                    totals[i]+=parseFloat( $(this).html());
                });
            });
            $("#sum_table td.totalCol").each(function(i){  
                $(this).html('<span style="font-weight: bold;text-shadow: 0.5px 0 #888888;">'+totals[i].toFixed(2)+' kn</span>');
            });

        });
var总计=[0,0,0];
$(文档).ready(函数(){
var$dataRows=$(“#sum_table tr:not('.totalColumn.titlerow'));
$dataRows.each(函数(){
$(this.find('.rowDataSd')。每个(函数(i){
totals[i]+=parseFloat($(this.html());
});
});
$(“#sum_table td.totalCol”)。每个(函数(i){
$(this.html(''+totals[i].toFixed(2)+'kn');
});
});
如图所示,若复选框未选中,则需要将行从计算中删除。请记住,我不想删除到第行,只需删除我们的计算。
任何关于如何处理此问题的帮助都将不胜感激

这一切归结为为为复选框设置事件处理程序。事件处理程序应执行以下操作:

  • 跟踪所有复选框的
    复选框更改
    事件和
    DOM就绪
    事件
  • 选中复选框后计算所有行的总数
  • 将total设置为total元素
  • 它还可以对未选中的行执行任何所需的更改。。未在下面的示例代码中完成
代码

$(function() { 
    $('.select').on('change', function() {
        let total = $('.select:checked').map(function() {
            return +$(this).parent().prev().text();
        })
        .get()
        .reduce(function(sum, price) {
            return sum + price;
        });
        $('#total').text( total );
    })
    .change();//trigger the change event on DOM ready
});
片段
$(函数(){
$('.select')。在('change',function()上{
让total=$('.select:checked').map(函数(){
return+$(this.parent().prev().text();
})
.get()
.减少(函数(总和、价格){
退货金额+价格;
});
$('总计').text(总计);
})
.change();
});

项目
价格
选择
项目1
1000
项目2
1200
项目3
800
项目4
102000

TOTAL
这一切归结起来就是为复选框设置一个事件处理程序。事件处理程序应执行以下操作:

  • 跟踪所有复选框的
    复选框更改
    事件和
    DOM就绪
    事件
  • 选中复选框后计算所有行的总数
  • 将total设置为total元素
  • 它还可以对未选中的行执行任何所需的更改。。未在下面的示例代码中完成
代码

$(function() { 
    $('.select').on('change', function() {
        let total = $('.select:checked').map(function() {
            return +$(this).parent().prev().text();
        })
        .get()
        .reduce(function(sum, price) {
            return sum + price;
        });
        $('#total').text( total );
    })
    .change();//trigger the change event on DOM ready
});
片段
$(函数(){
$('.select')。在('change',function()上{
让total=$('.select:checked').map(函数(){
return+$(this.parent().prev().text();
})
.get()
.减少(函数(总和、价格){
退货金额+价格;
});
$('总计').text(总计);
})
.change();
});

项目
价格
选择
项目1
1000
项目2
1200
项目3
800
项目4
102000

总计
以下是一个基本示例

$(函数(){
函数getPrice(行){
var txt=$(“.price”,行).text().slice(1);
var p=parseFloat(txt);
返回p;
}
函数calcSum(t){
var结果=0.00;
$(“tbody tr”,t)。每个(函数(i,r){
如果($(“输入”,r).是(“:选中”)){
结果+=getPrice(r);
}
});
返回结果;
}
函数updateSum(tbl){
var t=钙(tbl);
$(“tfoot.total.price”,tbl.html(“$”+t.toFixed(2));
}
更新金额($(“#价目表”);
$(“#价目表输入”).change(函数(){
更新金额($(“#价目表”);
});
});
#价目表{
宽度:240px;
}
#价格表日期{
宽度:33%;
边框底部:1px实心#ccc;
}
#价目表{
边框顶部:1px实心#ccc;
}

名称
价格
项目1
$3.00
项目2
$4.00
项目3
$5.00
总和
$0.00

以下是一个基本示例

$(函数(){
函数getPrice(行){
var txt=$(“.price”,行).text().slice(1);
var p=parseFloat(txt);
返回p;
}
函数calcSum(t){
var结果=0.00;
$(“tbody tr”,t)。每个(函数(i,r){
如果($(“输入”,r).是(“:选中”)){
结果+=getPrice(r);
}
});
返回结果;
}
函数updateSum(tbl){
var t=钙(tbl);
$(“tfoot.total.price”,tbl.html(“$”+t.toFixed(2));
}
更新金额($(“#价目表”);
$(“#价目表输入”).change(函数(){
更新金额($(“#价目表”);
});
});
#价目表{
宽度:240px;
}
#价格表日期{
宽度:33%;
边框底部:1px实心#ccc;
}
#价目表{
边框顶部:1px实心#ccc;
}

名称
价格
项目1
$3.00
项目2
$4.00
项目3
$5.00
总和
$0.00

欢迎来到堆栈溢出。这里有很多,也有一点
$(function() { 
    $('.select').on('change', function() {
        let total = $('.select:checked').map(function() {
            return +$(this).parent().prev().text();
        })
        .get()
        .reduce(function(sum, price) {
            return sum + price;
        });
        $('#total').text( total );
    })
    .change();//trigger the change event on DOM ready
});