gridview中的jQuery popup div

时间:2013-08-30 06:08:55

标签: jquery asp.net

我想为gridview行添加jQuery popup以进行描述,即我想在描述中移动鼠标时显示弹出窗口,然后必须在弹出窗口中显示描述

2 个答案:

答案 0 :(得分:1)

就像那样

<强>风格

<style>
        .HoverDesc{
            Position:relative;
        }

        .HoverDesc Strong{
            display:block;
            line-height:20px;
            white-space:nowrap;
            cursor:pointer;
        }
        .HoverDesc p{
            z-index:5;
            display:none;
            padding:10px;
            margin:0;
            background:#ccc;
            position:absolute;
            top:20px;
            left:0;
            width:200px;
        }
    </style>

jQuery包含

<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
    jQuery(document).ready(function($) {
        $('.HoverDesc').hover(function() {
            $(this).find('p').show(200);
        }, function() {
            $(this).find('p').hide(100);
        });
    });
 </script>

ASPX GridView

只显示一个样本列

 <asp:GridView runat="server" ID="GridView1">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>

                <div class="HoverDesc">
                    <strong>Description..</strong>
                    <p>
                        <%# Bind("Description") %>
                    </p>
                </div>

            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    </asp:GridView>

答案 1 :(得分:0)

使用jQuery ui popup(下载这些脚本):

<script type="text/javascript" src="Script/jquery1.7.1.min.js"> </script>
<link href="Styles/jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="Script/jquery-ui.1.9.2.min.js"></script>

为图像添加CSS类,如

<asp:Image ID="imgAlert" ImageUrl="~/images/alert16.gif" Height="12" Width="12"  runat="server" CssClass="imgClass" />

在gridview_RowDataBound事件中添加.cs页面中的属性,如

imgAlert.Attributes.Add("title", "Your Description");

然后添加弹出窗口的功能

$(function () {
  $('.imgClass').tooltip({
                position: {
                    my: "center+10 top-2",
                    at: "center+130 center+25",
                    using: function (position, feedback) {
                        $(this).css(position);
                        $("<div>")
                        .addClass("arrow")
                        .addClass(feedback.vertical)
                        .addClass(feedback.horizontal)
                        .appendTo(this);
             }
         }
    });
});