如何计算所选复选框的总数?

时间:2012-01-30 18:27:06

标签: jquery asp.net master-pages repeater

我正在使用带有母版页的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>

我想要计算每个部分中复选框的值并进行两次显示。

  1. 让文本框字段(tSecionTotal)使用复选框中的值进行更新。
  2. 总文本/标签更新总计。
  3. HTML呈现的内容如下:

      

    适当地打开和关闭交互   [ - 显示此部分总数的文本框 - ]

         

    []还没准备好接受互动[+1]
      []未使用正确的开口[+1]
      []没有确保没有其他需要[+2]
      []没有以适当的方式关闭交互[+5]&gt;
      
      表现出共同的礼貌(礼貌,耐心,善解人意)   [ - 显示此部分总数的文本框 - ]

         

    []没有使用常见的礼貌用语(请,谢谢)[+1]
      []与客户不一致的语音等级/变形[+2]
      []不当地打断客户[+5]
      []在需要时没有表现出同情[+2]
      

         

    适应客户的知识和专业水平

      [ - 显示此部分总数的文本框 - ]

         

    []未提供明确说明(如何)[+1]
      []未提供明确说明(如何)[+1]
      []没有提供明确的解释/教育(为什么我们这样做)[+ 3]
      []没有提供明确的解释/教育(为什么我们这样做)[+ 5]

         

    总计总计[ - 显示总计的文本框 - ]

1 个答案:

答案 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>