Asp.net复选框列表随机呈现范围

Asp.net复选框列表随机呈现范围,asp.net,webforms,checkboxlist,Asp.net,Webforms,Checkboxlist,我使用的是带有RepeatLayout=“UnorderedList”的asp.net asp:CheckBoxList 它始终将输出渲染为(为简洁起见,缺少一些值) 标签名称 但突然间,我在列表中得到了一个跨度 <ul class="checkbox unstyled"> <li><span alt="17"><input type="checkbox" value="17"><label>Label Name</la

我使用的是带有RepeatLayout=“UnorderedList”的asp.net asp:CheckBoxList

它始终将输出渲染为(为简洁起见,缺少一些值)

  • 标签名称
但突然间,我在列表中得到了一个跨度

<ul class="checkbox unstyled">
  <li><span alt="17"><input type="checkbox" value="17"><label>Label Name</label></span></li>                
</ul>
  • 标签名称
由以下代码生成

<div class="control-group" >                
  <label class="control-label" id="Label2">Available Mailing Lists</label>
    <div class="controls">            
      <asp:CheckBoxList id="chklSubs" runat="server" RepeatLayout="UnorderedList" CssClass="checkbox unstyled"></asp:CheckBoxList>
    </div>
</div>

可用邮件列表
它搞乱了我的CSS,使列表中断。为什么我会得到这个跨度,我如何摆脱它

旁注:我正在使用twitter引导设置样式

满输出

<ul id="ContentPlaceHolderDefault_override_innerPageOverRide_BoilerplateMainContentPlaceHolder_ctl00_SignUpCtl_4_chklSubs" class="checkbox unstyled">
  <li><span alt="7"><input id="ContentPlaceHolderDefault_override_innerPageOverRide_BoilerplateMainContentPlaceHolder_ctl00_SignUpCtl_4_chklSubs_0" type="checkbox" name="ctl00$ctl00$ctl00$ContentPlaceHolderDefault$override$innerPageOverRide$BoilerplateMainContentPlaceHolder$ctl00$SignUpCtl_4$chklSubs$0" value="7"><label for="ContentPlaceHolderDefault_override_innerPageOverRide_BoilerplateMainContentPlaceHolder_ctl00_SignUpCtl_4_chklSubs_0">Energy Express Newsletter</label></span></li>
</ul>
  • 能源快报

如果在控件上放置任何CssClass或其他属性,复选框将嵌套到一个范围中。如果在代码中禁用复选框控件,则span标记上会设置“disabled”属性。我注意到了这一点,因为jQuery无法使用输入选择器删除该属性(只是在IE中不起作用)

这在所有普通浏览器中都适用,因此请尝试以下方法:

$("div#" + value + " input:checked").removeAttr('disabled');
您必须添加以下内容才能使其在IE中工作:

$("div#" + value + " span").removeAttr('disabled');
请看这里:

如果在控件上放置任何CssClass或其他属性,复选框将嵌套到一个范围中。如果在代码中禁用复选框控件,则span标记上会设置“disabled”属性。我注意到了这一点,因为jQuery无法使用输入选择器删除该属性(只是在IE中不起作用)

这在所有普通浏览器中都适用,因此请尝试以下方法:

$("div#" + value + " input:checked").removeAttr('disabled');
您必须添加以下内容才能使其在IE中工作:

$("div#" + value + " span").removeAttr('disabled');
请看这里:

能否发布您的复选框列表ASP.NET控件标记?能否发布您的复选框列表ASP.NET控件标记?