2012-01-30 21 views
1

私は、マスターページで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. 全体の合計テキスト/ラベルの更新があります。

レンダリングされたHTMLは次のようなものになります:オープン

をとの相互作用を適切
閉じ、[ - このセクションの合計を表示するテキストボックスを - ]

[]はなかったです
[]適切な開封をしなかった[+1]
[]他の必要がないことを確認していませんでした[+2]
[] [+5]適切な方法で相互作用を閉じなかった>

(共感丁寧、患者の、)共通の礼儀を示し
[ - このセクションの合計を表示するためのテキストボックス - ]

[] [ワード(してください、ありがとうございました)[+1]
[]顧客との不適切な音声レベル/変曲[2]
[]は不適切顧客を中断丁重[5]
を共通使用していませんでした]必要に応じて共感を示していない[+2]
知識と専門

の顧客のレベルに適応し

[ - このセクションの合計を表示するためのテキストボックス - ]

[] + [明確な指示(どのように)を提供していませんでした1]
[]
[説明を明確にしていない理由] [+3]
[]明確な説明はしていません/教育(なぜ私たちはこれをやっている)[+5]

全体の合計[ - 全体の合計を表示するテキストボックス - ]

答えて

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> 
+0

私の例では、私の例ではDivのID「key1」と仮定します。そうですか?私はあなたのリピータにTRタグを持っていないので、私はまだあなたが何を意味するのか知りません。また、親リピータ内にあるテキストボックスにこれをバインドするにはどうすればよいですか? – user1178691

+0

@ user1178691あなたの構造体についてはわかりませんが、私はdivとクラスを使ってtrを変更します。正しい構造体を見つけるには、htmlをレンダリングして配置する必要があります。 – Aristos

関連する問題