坐落在一个ASP.NET单选按钮列表列表项CSS类(Set a CSS class on an AS

2019-06-24 16:34发布

有什么办法来设置在一个单选按钮列表中的输入项的CSS类? 我想用类jQuery中引用这些表单值。

给定一个ASP.NET单选按钮列表上的listItems中设置类:

 <asp:RadioButtonList ID="RadioButtonList" runat="server">
      <asp:ListItem class="myClass" Text="Yes" Value="1" />
      <asp:ListItem class="myClass" Text="No" Value="0" />
 </asp:RadioButtonList>

将呈现为:

 <span id="RadioButtonList" class="radioButtonListField myClass">
     <span class="myClass">
          <input id="RadioButtonList_0" type="radio" value="1" 
               name="RadioButtonList"/>
          <label for="RadioButtonList_0">Yes</label>
     </span>
     <span class="myClass">
          <input id="RadioButtonList_1" type="radio" value="0" 
               name="RadioButtonList"/>
          <label for="RadioButtonList_1">No</label>
     </span>
 </span>

不幸的是,“myClass的”类被添加到<span>包含该单选按钮项,而不是<input>本身。 我怎么能得到它看起来像这个:

 <span id="RadioButtonList" class="radioButtonListField myClass">
     <span>
          <input id="RadioButtonList_0" class="myClass" type="radio" value="1" 
               name="RadioButtonList"/>
          <label for="RadioButtonList_0">Yes</label>
     </span>
     <span>
          <input id="RadioButtonList_1" class="myClass" type="radio" value="0" 
               name="RadioButtonList"/>
          <label for="RadioButtonList_1">No</label>
     </span>
 </span>

(这还不进入添加类来动态绑定RadioButtonLists的问题。)

Answer 1:

是的,单选按钮列表呈现可怕的HTML。

无论如何,它仍然很容易从jQuery的得到它们。

尝试

$('span.myclass input:radio')

以上将获得跨度内的所有单选按钮与类“MyClass的”。



Answer 2:

你可能想尝试做另一种方法是改变你的CSS类accomindate服务器控件呈现。

因此,在你的CSS,而不是执行以下操作:

.myClass { ... }

您可以使用此:

.myClass input { ... }

我不知道你是否能设置类属性(通过类或的CssClass)声明方式; 然而,上述应该围绕给你的工作。



Answer 3:

未经测试

$('.myclass input:radio').each(function() {
        this.css({'style-name':'style-value'})
)};

一旦名单被渲染,您可以使用上面的语句可能操纵的CSS客户端。



Answer 4:

使用.NET,你可以创建一个事件处理程序RowBinding事件。 这将允许您访问的每个项目内的各个控件在列表中。 一旦你拉单选按钮控制,你可以programaticaly设置它的CssClass适用于单选级类。

你也可以使用jQuery查找具有myClass的应用单选按钮控件,然后申请另一个类了这一点。

第三,你可以只改变MyClass的定义还规定,它只有在有MyClass的应用元素应用到输入元素。



Answer 5:

该desigeek响应是相当不错的..

要获得此为单选按钮工作,我不得不这样做对的document.ready()

$('#<%=radRisksMarginTrading.ClientID  %>_0').addClass("validate[required]");
$('#<%=radRisksMarginTrading.ClientID  %>_1').addClass("validate[required]");

我敢肯定有一个更好的方法通过循环做到这一点,但我需要5名单选按钮列表速战速决..



文章来源: Set a CSS class on an ASP.NET RadioButtonList ListItem