我正在使用带有母版页的ASP.NET。在其中我有一个嵌套的转发器:
<asp:Repeater ID=rptAttribute runat=server>
<ItemTemplate>
<h3><%# DataBinder.Eval(Container.DataItem, "Description") %></h3>
<div id="labelbox">
<asp:TextBox ID="tSecionTotal" runat="server"></asp:TextBox>
<div id="key1">
<asp:Repeater ID="rptKey" runat="server">
<ItemTemplate>
<asp:CheckBox ID="rptKeySelection" runat="server" />
<span><%# DataBinder.Eval(Container.DataItem, "Description") %></span>
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
我想要计算每个部分中复选框的值并进行两次显示。
HTML呈现的内容如下:
适当地打开和关闭交互 [ - 显示此部分总数的文本框 - ]
[]还没准备好接受互动[+1]
[]未使用正确的开口[+1]
[]没有确保没有其他需要[+2]
[]没有以适当的方式关闭交互[+5]&gt;
表现出共同的礼貌(礼貌,耐心,善解人意) [ - 显示此部分总数的文本框 - ]
[]没有使用常见的礼貌用语(请,谢谢)[+1]
[]与客户不一致的语音等级/变形[+2]
[]不当地打断客户[+5]
[]在需要时没有表现出同情[+2]
适应客户的知识和专业水平
[ - 显示此部分总数的文本框 - ][]未提供明确说明(如何)[+1]
[]未提供明确说明(如何)[+1]
[]没有提供明确的解释/教育(为什么我们这样做)[+ 3]
[]没有提供明确的解释/教育(为什么我们这样做)[+ 5]
总计总计[ - 显示总计的文本框 - ]
答案 0 :(得分:2)
您可以找到所有已选中的项目,然后是项目的值,添加它们并将其置于总计
var Total = 0;
$("input:checked").each(function(i, selected){
Total+= $(selected).parent(".keydiv").find(".myVal").val();
});
我在这里做的是找到所有复选框,然后为每个复选框我去找到它的元素(例如class=keydiv
),然后我在tr的子元素中找到了具有的元素你想要添加的价值,我想有css =“myVal”。
如果你像那样呈现它,那就说吧。
<div id="key1" class="keydiv">
check box
<span class="myVal">5</span>
</div>