代码之家  ›  专栏  ›  技术社区  ›  Oskar Kjellin

表内的help div有问题

  •  1
  • Oskar Kjellin  · 技术社区  · 15 年前

    我有一个角色表,其中包含是否具有访问权限的复选框。我需要在最右边的列上有一个帮助按钮,显示使用JQuery对话框的角色的信息。由于某些原因,该对话框只显示每秒钟一次。

    下面是我使用的代码:

    <table width="100%" border="0" cellspacing="0" cellpadding="5">
    <%foreach (Role role in ViewData["Roles"] as List<Role>)
      { %>
        <tr>
            <td width="20%">
                <%=role.RoleName %>
            </td>
            <td width="70%">
                <%=Html.CheckBox(role.RoleName, Model.IsInRole(role.LoweredRoleName)) %>
            </td>
            <td width="10%">
            <%if (!string.IsNullOrEmpty(role.Description))
              { %>
                <%Html.RenderPartial("Help", new KeyValuePair<string, string>(role.RoleName, role.Description)); %>
            <%} %>
            </td>
        </tr>
        <%} %>
    </table>
    

    帮助.aspx:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<KeyValuePair<string, string>>" %>
    <a href="#" onclick="$('#<%=Model.Key.Replace(" ", "") %>').dialog(); return false;">
        <img border="0" src="../../Content/Images/help_icon.gif" alt="?"/>
    </a>
    <div id="<%=Model.Key.Replace(" ", "") %>" title="<%=Model.Key %>" style="display:none;">
        <%=Model.Value %>
    </div> 
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   queen3    15 年前

    调用$(foo).dialog()将初始化对话框实例,并在默认情况下自动打开对话框。如果要重用对话框,最简单的方法是使用:$(foo).dialog({auto open:false})禁用“自动打开”选项,并使用$(foo).dialog('open')打开它

    http://docs.jquery.com/UI/Dialog#overview http://blog.nemikor.com/2009/04/08/basic-usage-of-the-jquery-ui-dialog/

    http://plugins.learningjquery.com/cluetip/ 相反。ClueTip可以通过单击并保持直到关闭来打开选项,因此您可以在悬停和单击激活之间进行选择。通过AJAX获取内容也非常容易,因此您不必加载页面上的所有信息,用户可能永远不会单击查看这些信息。