を用いずtextbox2
に表示されるべきであるafterthatあなたは、C#を使用したい場合は、変更をポストバックとTextBox2
の内容を更新する必要があります。
ASP.NET/C#(サーバー側)
<asp:CheckBox ID="CheckBox1" runat="server" value="5" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged"/>
<asp:CheckBox ID="CheckBox2" runat="server" value="15" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged"/>
<asp:CheckBox ID="CheckBox3" runat="server" value="25" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged"/>
<asp:CheckBox ID="CheckBox4" runat="server" value="35" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged"/>
背後
コード:
protected void CheckBox1_CheckedChanged (object sender, EventArgs e)
{
int sum = Convert.ToInt32(this.TextBox1.Text);
if (this.CheckBox1.Checked) sum += Convert.ToInt32(this.CheckBox1.Attributes["value"]);
if (this.CheckBox2.Checked) sum += Convert.ToInt32(this.CheckBox2.Attributes["value"]);
if (this.CheckBox3.Checked) sum += Convert.ToInt32(this.CheckBox3.Attributes["value"]);
if (this.CheckBox4.Checked) sum += Convert.ToInt32(this.CheckBox4.Attributes["value"]);
this.TextBox2.Text = sum.ToString();
}
しかし、私は、このタスクのためのjQueryを好むだろう:
編集:あなたはを求めていたので、親切にいくつかのjQueryコードのために、ここにある:
のjQuery (クライアント側)
備考:属性「値」はに書き込まれませんhtml出力にがあります。 data-value
を代わりに使用すると、指定されたdata-value
属性を持つspan
の内部に入力が埋め込まれます。
<script>
function clientclick() {
var tb = $("#<%=TextBox1.ClientID %>");
var sum = parseInt(tb.val());
var cb = $("#<%=CheckBox1.ClientID %>");
if (cb.is(":checked")) sum += parseInt(cb.parent("*[data-value]").data("value"));
cb = $("#<%=CheckBox2.ClientID %>");
if (cb.is(":checked")) sum += parseInt(cb.parent("*[data-value]").data("value"));
cb = $("#<%=CheckBox3.ClientID %>");
if (cb.is(":checked")) sum += parseInt(cb.parent("*[data-value]").data("value"));
cb = $("#<%=CheckBox4.ClientID %>");
if (cb.is(":checked")) sum += parseInt(cb.parent("*[data-value]").data("value"));
$("#<%=TextBox2.ClientID %>").val(sum);
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CheckBox ID="CheckBox1" runat="server" data-value="5" onclick="clientclick()"/>
<asp:CheckBox ID="CheckBox2" runat="server" data-value="15" onclick="clientclick()"/>
<asp:CheckBox ID="CheckBox3" runat="server" data-value="25" onclick="clientclick()"/>
<asp:CheckBox ID="CheckBox4" runat="server" data-value="35" onclick="clientclick()"/>
<asp:TextBox ID="TextBox2" runat="server" ></asp:TextBox>
これはquick'n'dirtyですが、私はこの答えは、HTMLとJSで$.each
そして、あなたは何をしようとしているあなたのASPのために働くことを願っていますか? ;) – Tushar
javascriptまたはuだけでjqueryもロードされていますか? –
私はjavascriptを使ってみましたが、それは私にチェックボックスの合計だけを与えます – Bunny