我有一个CheckListBox并在项目上指定ToolTip。渲染时,它会显示复选框(和标签)周围的跨度,它是具有标题属性的跨度,而不是复选框(输入类型=复选框)。
有谁知道如何在输入元素而不是周围的跨度上设置title属性?
为了符合508标准,我需要在输入元素上使用title属性,而不是在span上。
编辑:请注意,我更愿意在服务器端对C#进行所有必要的更改。我宁愿不必在javascript / jquery中这样做。
答案 0 :(得分:1)
去过那儿。无论如何JavaScript都不会帮助你,因为它不会改变源代码。
这应该为你解决:
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
foreach(ListItem li in CheckBoxList1.Items){
li.Attributes["title"] = "my title";
}
}
答案 1 :(得分:1)
我应该在发布前测试过。最快的方法是使用属性为runat =“server”的旧式html控件。然后,您可以通过其ID引用您的个人复选框。例如:
<asp:Panel ID="BrowserCheckBoxList" runat="server">
<ul>
<li><input id="CheckBoxList1_0" type="checkbox" name="" value="Chrome" title="Chrome" runat="server" /> <label for="CheckBoxList1_0">Chrome</label></li>
<li><input id="CheckBoxList1_1" type="checkbox" name="" value="FireFox" title="FireFox" runat="server" /> <label for="CheckBoxList1_1">FireFox</label></li>
<li><input id="CheckBoxList1_2" type="checkbox" name="" value="IE" title="IE" runat="server" /> <label for="CheckBoxList1_2">IE</label></li>
<li><input id="CheckBoxList1_3" type="checkbox" name="" value="Opera" title="Opera" runat="server" /><label for="CheckBoxList1_3">Opera</label></li>
<li><input id="CheckBoxList1_4" type="checkbox" name="" value="Safari" title="Safari" runat="server" /><label for="CheckBoxList1_4">Safari</label></li>
</ul>
</asp:Panel>