我在vb.net webform中有不同的复选框,文本不同......
checkbox1.text=100
checkbox2.text=300
checkbox3.text=550 and so on .....
我希望当我检查checkbox1和checkbox2然后在textbox1中文本将是400
意味着复选框i选择所选复选框的太阳将使用VB.NET在文本框中计算....
我正在使用Visual Studio 2008
答案 0 :(得分:1)
如果您正在查看服务器端代码,那么以下代码应该可以解决问题:
private int mTotal;
private void EnumerateCheckBoxes(Control control)
{
if (control is CheckBox)
{
var check = (CheckBox)control;
if (check.Checked)
{
int value;
if (int.TryParse(check.Text, out value))
{
mTotal += value;
}
}
}
else if (control.HasControls())
{
foreach(var c in control.Controls)
{
EnumerateCheckBoxes(c);
}
}
}
protected void Page_Load(Object sender, EventArgs e)
{
mTotal = 0;
EnumerateCheckBoxes(this.Form);
textbox1.Text = mTotal.ToString();
}
虽然这是在C#中,但是移植到VB.NET应该很容易。还有一些其他事情需要考虑:
if (control is
CheckBox)
if
(control.GetType() ==
typeof(CheckBox))
答案 1 :(得分:0)
使用隐藏字段和一些javascript来设置值,在选中复选框时绑定此事件
function UpdateValue(){
var total= 0;
$('input:checkbox:checked').each(function (i) {
val = total+ int.parse(this.value); //or html
});
$('#hiddenValField').html(total) ;
}