任何人都可以向我提供如何将复选框选中的值按升序插入文本框的确切答案吗?

时间:2010-11-16 10:54:56

标签: asp.net vb.net

任何人都可以向我提供如何将复选框选中的值按升序插入文本框的确切答案吗?

表示我检查checkbox1和checkbox3然后在文本框中输出ia 1,2

如果我选中复选框3然后复选框1,那么在文本框中输出也将是1,2

我之前已经问过这个问题但是没有找到任何确切的工作答案......

请记住,,,我必须使用500+复选框....在asp.net(VB)

2 个答案:

答案 0 :(得分:0)

更多信息可能会有用。这纯粹是为了用户界面吗?在这种情况下,JavaScript通过jQuery可能就是你所需要的。复选框AutoPostBack?在这种情况下,服务器端解决方案可能就是答案,尽管在这种情况下客户端可能仍然适用。

答案 1 :(得分:0)

只需将所有复选框放入ObjectModel.Collection(Of CheckBox)(此处命名为myCol)然后在加载过程中确保分配hanler

For each chk as CheckBox in myCol
   AddHandler chk.CheckedChanged, AddressOf PerformCheckUpdate
End For

然后您可以在Sub

中执行已检查的已更改操作
Private Sub PerformCheckUpdate(Byval sender as object, byval e as eventargs)
   Dim colResults as New ObjectModel.Collection(Of Integer)
   For each chk as CheckBox in myCol
      If chk.Checked Then
         colResults.Add(chk.Name.Substring(8))
      End If
   Next
   Dim intArray(colResults.Count - 1) as Integer
   For i as Integer = 1 To colResults.Count
      intArray(i-1) = colResults.Item(i-1)
   Next
   Array.Sort(intArray)
   TextBox1.Text = ""
   For i as Integer = 1 To colResults.Count
       TextBox1.Text &= intArray(i-1)
       If i< colResults.Count then
          TextBox1.Text = ","
       End If
   Next
End Sub

这不是最优雅的解决方案,但它应该有效。