HTML复选框分组

时间:2010-05-18 15:23:51

标签: html checkbox grouping

通常,HTML复选框根据名称进行分组。是否可以将名称以外的复选框分组?

谢谢!

3 个答案:

答案 0 :(得分:2)

不是HTML格式。但是你可以在服务器端编写一些代码逻辑,它们根据某些条件对它们进行分组,例如:参数名称或参数值中的公共前缀或后缀。

然而,这只是笨拙的。只需从您提供的HTML中获益,就可以通过名称对它们进行分组。如果你有问题,那么它需要在其他地方修复,可能使用元素ID(表示文档树中的唯一性)或元素样式类(表示文档树中的常见含义)。

答案 1 :(得分:0)

如果您使用的是ASP.NET,则可以使用AjaxToolkit中的MutuallyExclusiveCheckBoxExtender将复选框组合在一起。 它将它们组合在一起,这样一次只能检查组中的1个复选框,就像无线电按钮组一样。

http://www.asp.net/ajax/tutorials/creating-mutually-exclusive-checkboxes-cs

答案 2 :(得分:0)

您可以尝试按照自己的方式对添加的项目进行排序。 在下面的ASP.Net Checkboxlist示例中,我使用了一个比较器对项目进行降序排序(按照您的方式更改):

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim allChk As New ArrayList(Me.CheckBoxList1.Items)
        allChk.Sort(New SortComparer(False))
        Me.CheckBoxList1.Items.Clear()
        For Each item As ListItem In allChk
            Me.CheckBoxList1.Items.Add(item)
        Next
    End Sub

    Public Class SortComparer
        Implements IComparer
        Private ascending As Boolean

        Public Sub New(ByVal asc As Boolean)
            Me.ascending = asc
        End Sub

        Public Function [Compare](ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare
            Return x.ToString.CompareTo(y.ToString) * DirectCast(IIf(Me.ascending, 1, -1), Int32)
        End Function
    End Class