3

ドロップダウン リストがあり、ドロップダウン リスト アイテムのツールチップを追加したいと考えています。次のコードを試してみましたが、うまくいきません。

    for(int d=0;d<drpID.Items.Count;d++)
    {
        drpID.Items[d].Attributes.Add("title", drpID.Items[d].Value);

    }

誰でもこれについて私を助けることができますか?

4

6 に答える 6

2

これを試してみてください

 protected void ddlDetails_DataBound(object sender, EventArgs e)
{
    DropDownList ddl = sender as DropDownList;
    if(ddl!=null)
  {
    foreach (ListItem li in ddl.Items)
    {
      li.Attributes["title"] = li.Text;
    } 
  }
}

ここに画像の説明を入力

于 2013-04-08T06:27:48.767 に答える
1

このスレッドがデータ バインドされたコントロールに関するものであることは知っていますが、aspx ページで実際に ListItem 値をハード コードしているまれなケースでは、単純に

<asp:ListItem Id="liNumberOne" Runat="server" title="My nifty help text" />

属性を ListItem タグ自体に追加すると、問題なく機能しました。確かに、それが有効な属性ではないという苦情がありましたが、ページがレンダリングされたときにそれが現れ、有効な属性でした.

于 2013-07-23T18:22:52.633 に答える
1

プログラムで設定された DropDownList にツールチップを実装する必要がありました。title 属性が Text プロパティに自動的に設定されていて、PreRender でも上書きできないことがわかりました。

このスレッドの提案はどれも機能せず、最終的に jQuery アプローチを使用することを余儀なくされました。

リストアイテムを作成するときに、ツールチップテキストでカスタム属性を設定しました

    ListItem item = new ListItem("Name", "Value");
    item.Attributes.Add("tooltip", tooltip);
    ddl.Items.Add(item);

次に、起動スクリプトで以下のメソッドを起動します

function SetTooltip() {
    jQuery('#<%=ddl.ClientID %> option').each(
        function () {
            jQuery(this).attr('title', jQuery(this).attr('tooltip'));
        }
    );
}

かなりそうではありません。しかし、それは機能します。

于 2014-03-21T03:14:19.777 に答える