我想要控制CHECKBOXLIST选项的数量,比如:有10个选项,允许至多选择5个.
以下是我用服务器端控制的方法,方法:当选中第6个的时候就去掉最后一个(位置顺序)的选项,同时显示所有选项的记录。
我想问一下,当选中第6个的时候能不能去掉刚选中的这项,而不是位置顺序的第6项?
<%@ Page Language="VB" %>
<script runat="server">
sub selectit(sender as object,e as eventargs)
dim str as string=""
dim i,j as integer
i=0:j=0
for i=0 to checkboxlist1.items.count-1
if checkboxlist1.items(i).selected="true" then
j+=1
end if
if j>=6 then
checkboxlist1.items(i).selected="false"
end if
next i
dim a as integer=0
for a=0 to checkboxlist1.items.count-1
if checkboxlist1.items(a).selected="true" then
str &="," & checkboxlist1.items(a).text
end if
next a
label1.text= str
end sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<asp:table id="t1" runat="server" width="700" border="1">
<asP:tablerow id="r1" runat="server" >
<asp:tablecell id="c1" runat="server">省份</asP:tablecell>
<asP:tablecell id="c11" runat="server">
<asp:CheckBoxList id="CheckBoxList1" runat="server" repeatdirection="horizontal" autopostback="true" onselectedindexchanged="selectit">
<asp:listitem value="10002" text="江苏" />
<asp:listitem value="10003" text="江西" />
<asp:listitem value="10004" text="上海" />
<asp:listitem value="10005" text="广东" />
<asp:listitem value="10006" text="福建" />
<asp:listitem value="10008" text="广西" />
<asp:listitem value="10009" text="陕西" />
<asp:listitem value="10010" text="山东" />
<asp:listitem value="10011" text="安徽" />
<asp:listitem value="10012" text="海南" />
</asp:CheckBoxList>
</asp:tablecell>
</asp:tablerow>
<asp:tablerow id="r2" runat="server">
<asp:tablecell id="c2" runat="server">你所选择的是</asp:tablecell>
<asp:tablecell id="c22" runat="server">
<asp:label id="label1" runat="server"></asp:label>
</asp:tablecell>
</asp:tablerow>
</asp:table>
</p>
</form>
</body>
</html>