任何人都可以向我提供如何将复选框选中的值按升序插入文本框的确切答案吗?
表示我检查checkbox1和checkbox3然后在文本框中输出ia 1,2
如果我选中复选框3然后复选框1,那么在文本框中输出也将是1,2
我之前已经问过这个问题但是没有找到任何确切的工作答案......
请记住,,,我必须使用500+复选框....在asp.net(VB)
答案 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
这不是最优雅的解决方案,但它应该有效。