【问题标题】:how to ignore already checked checkboxes in vb.net / asp.net?如何忽略 vb.net / asp.net 中已选中的复选框?
【发布时间】:2011-01-01 15:36:59
【问题描述】:

如果我的 asp.net 网络表单中有 3 个 asp.net 复选框,即:CheckBox1、Checkbox2、Checkbox3 和一个文本框,即 textbox1

If Checkbox1.text ="1"
Checkbox2.text ="2"
Checkbox3.text ="3"

我想要:

如果 checkbox1 已被选中...如果复选框仍处于选中状态,即使在我选中 checkbox2 和 checkbox3 之后,文本框中的输出也会是 2,3 ..... 通过忽略已选中的复选框文本 ...

我想要的逻辑:忽略已经选中的复选框并将最近的复选框文本作为逗号分隔字符串插入到 textbox1 ...

怎么做?

【问题讨论】:

  • 不完全清楚你想要什么。您能否发布不同检查状态所需输出的示例?

标签: asp.net vb.net


【解决方案1】:

复选框在被选中时不应取消选中。单选按钮就是这样做的。

我不确定这是否回答了您的问题,但我无法完全理解。请发布您的部分代码,以便我们了解您的意思。

【讨论】:

  • 简单的逻辑是......如果 checkbox1 或 checkbox2 或 checkbox3 在页面加载时已经检查了复选框,如果在页面加载时已经检查了 checkbox2 /./// 那么当我检查时checkbox1 然后是 checkbox3 然后在 textbox1 中输出将是 ..1,3 忽略已选中的复选框(checkbox2)
  • 然后你必须编写一个函数来检测所有在加载时检查的复选框,然后在你第二次检查时再次忽略它们。我会创建一个布尔数组。元素 0 将是 checkbox1,元素 1 将是 checkbox2,等等。如果您不想第二次检查它们,请将它们设为 false。
  • 有人可以帮我开发吗?在 vb.net 中?我会非常感谢你?
【解决方案2】:
//Onpageload
bool[] ignorecheckboxes = new bool[2]; //2 should be the number of textboxes

if (checkbox1.Checked = true)
{
ignorecheckboxes[0] = false;
}
if (checkbox2.Checked = true)
{
ignorecheckboxes[1] = false;
}

//When you check again
bool[] checkboxes = new bool[2]; 

if (checkbox1.Checked = true)
{
checkboxes[0] = true;
}
if (checkbox2.Checked = true)
{
checkboxes[1] = true;
}

if (ignorecheckboxes[0] == false)
{
checkboxes[0] = false;
}
if (ignorecheckboxes[1] == false)
{
checkboxes[1] = false;
}
//Everything still true in the checkboxes array is what you want.

我会再添加一条评论,但代码太长了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多