1

CheckListBoxがあり、アイテムにツールチップを指定します。レンダリングすると、チェックボックス(およびラベル)の周囲にスパンが表示され、チェックボックス(入力タイプ=チェックボックス)ではなく、タイトル属性が設定されているスパンになります。

周囲のスパンではなく、入力要素にtitle属性を設定する方法を知っている人はいますか?

508に準拠するには、スパンではなく、入力要素にtitle属性を設定する必要があります。

編集:サーバー側でC#で必要なすべての変更を行いたいことに注意してください。javascript/jqueryでそれを行う必要はありません。

4

2 に答える 2

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>
于 2012-07-20T20:49:50.177 に答える
1

行ったことがある。JavaScript はソース コードを変更しないため、とにかく 508 には役立ちません。

これで修正されるはずです:

protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
    foreach(ListItem li in CheckBoxList1.Items){
            li.Attributes["title"] = "my title";
        }
}
于 2012-07-19T22:37:27.257 に答える