【发布时间】:2015-11-23 16:50:29
【问题描述】:
我有一个带有 itemtemplate 列的 gridview,其中有一个 Checkbox。我只希望用户选择其中 3 个复选框。在第 4 个选项中,我想弹出一条消息,告诉他们只允许 3 个,然后取消选中他们刚刚选中的复选框。我尝试了不同的javascript,但无法正常工作。
现在我非常接近在 CheckedChanged 事件后面的 vb 代码中执行此操作。我可以在第 4 次选择时弹出消息,但无法取消选中该框。我以为box.Checked = False 会这样做,但事实并非如此。我需要对发件人做些什么吗?还是我与我所拥有的很接近?
Protected Sub CheckBoxPain_CheckedChanged(sender As Object, e As System.EventArgs)
Dim box As CheckBox
Dim numChecked As Integer = 0
For Each row As GridViewRow In gv_pain.Rows
If row.RowType = DataControlRowType.DataRow Then
box = CType(row.Cells(0).FindControl("CheckBoxPain"), CheckBox)
If box.Checked Then
numChecked = numChecked + 1
End If
End If
Next
'Response.Write("NUM:" & numChecked.ToString)
'Response.Write("STATUS:" & box.Checked.ToString)
'Response.Write("ITEM:" & box.SelectedItem.Text)
If numChecked.ToString > 3 Then
Response.Write("<script>alert('Only 3 Pain Selections allowed')</script>")
box.Checked = False
End If
End Sub
【问题讨论】:
标签: javascript asp.net vb.net checkbox