.net中的checkbox控件貌似好像不能实现单选的!所以,我这边用jquery实现了!虽然很简单,但是,毕竟也是作了一番思考的!
<h4> 产品搜索:</h4> <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem>请选择产品的用途:</asp:ListItem> </asp:DropDownList> <ul> <li>1.产品更注重环保 <asp:CheckBox ID="CheckBox1" runat="server" /></li> <li>2.产品更注重性能 <asp:CheckBox ID="CheckBox2" runat="server" ValidationGroup="see" /></li> <li>3.产品更注重性价比<asp:CheckBox ID="CheckBox3" runat="server" ValidationGroup="see" /></li> <li>4.产品更注重档次 <asp:CheckBox ID="CheckBox4" runat="server" ValidationGroup="see" /></li> <li> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></li> <li>请输入想要搜索的产品名称:</li> <li> <asp:ImageButton ID="search" ImageUrl="../images/search.gif" runat="server" /></li> </ul>
这是页面的代码,就是想实现单选!用的是checkbox的服务器控件!
下面是jquery代码
var jq=jQuery.noConflict(); var sinput=jq(".search input"); for(var i=0;i<4;i++){ jq(sinput[i]).bind("click",function(){ for(var j=0;j<4;j++){ jq(sinput[j]).removeAttr("checked"); jq(this).attr("checked","true"); } }); }
其实,看这段jquery代码,不但发现,有几点是我才发现的,以前都没有用过!首先是var sinput=jq(".search input");
获取值之后,本来就应该是jquery类型了,(个人是这样的理解的!)但是下面还是可以使用jq(sinput[j]).removeAttr("checked");
再次用jquery获取他们的值,我测试过了,如果不这样写,直接写sinput[j]的话是获取不到他们的属性增加的!