目前,我有这个:
<asp:CheckBoxList ID="chkSections" runat="server" onselectedindexchanged="chkSections_SelectedIndexChanged"></asp:CheckBoxList>
...生成这个:
<table border="0" id="ctl00_cpBody_chkSections">
<tbody><tr>
<td><input type="checkbox" name="ctl00$cpBody$chkSections$0" id="ctl00_cpBody_chkSections_0"><label for="ctl00_cpBody_chkSections_0">All Sections</label></td>
</tr><tr>
<td><input type="checkbox" name="ctl00$cpBody$chkSections$1" id="ctl00_cpBody_chkSections_1"><label for="ctl00_cpBody_chkSections_1">Personal Health Status and Health History</label></td>
</tr><tr>
<td><input type="checkbox" name="ctl00$cpBody$chkSections$2" id="ctl00_cpBody_chkSections_2"><label for="ctl00_cpBody_chkSections_2">Physical Activity and Fitness</label></td>
</tr>
</tbody></table>
问题:我希望生成的所有input
字段都有一个特定的类。不想使用jQuery。
答案 0 :(得分:1)
为什么不在<asp:CheckList>
中设置CssClass,在CSS中使用元素选择器?
<asp:CheckList CssClass="ChLst">
.ChLst INPUT
{
background-color: red;
}
<!-- OR: -->
.ChLst TD
{
background-color: red;
}
修改强>
啊,我现在明白了。请参阅此问题:Applying Styles To ListItems in CheckBoxList
您可以添加类属性,而不是添加Style属性。
li.Attributes.Add("class", "chListItem");
编辑2:
再想一想,使用Repeater控件并使自己的自定义解决方案充满乐趣可能会更好。依赖于CheckBoxList然后尝试在jQuery中使用它显然不适合你。
答案 1 :(得分:1)
您还可以使用ListItem的属性在服务器端设置类名:
protected void Page_Load(object sender, EventArgs e)
{
foreach (ListItem item in chkSections.Items)
item.Attributes["class"] = "class_item";
}