0
<script type="text/javascript">
        $(document).ready(function () {
          $("#LightBox").click(function () {
                $.fancybox.open({
                    href: ($('#LightBox').val()),
                    type: 'iframe',
                    padding: 7
                });
            });
        });
    </script>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                        DataSourceID="SqlDataSource1" >
                        <Columns>
                         <asp:TemplateField>
                         <ItemTemplate>
                         <asp:Button   ID="LightBox" runat="server" Text="http://www.apple.com/ipod" />
                         </ItemTemplate>
                         </asp:TemplateField>
                        </Columns>
   </asp:GridView>

ボタンをグリッドビューの外に配置すると、ライトボックスは正常に動作します..テンプレートフィールド内からトリガーされない理由がわかりません。

4

1 に答える 1

0

以下のコードで試すことができます(IDの代わりにクラスを使用)

<script type="text/javascript">
        $(document).ready(function () {
          $(".LightBox").click(function () {
                var url = $(this).val();
                $.fancybox.open({
                    href: url,
                    type: 'iframe',
                    padding: 7
                });
            });
        });
    </script>

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                        DataSourceID="SqlDataSource1" >
                        <Columns>
                         <asp:TemplateField>
                         <ItemTemplate>
                         <asp:Button   ID="LightBox" CssClass="LightBox" runat="server" Text="http://www.apple.com/ipod" />
                         </ItemTemplate>
                         </asp:TemplateField>
                        </Columns>
   </asp:GridView>
于 2012-12-17T13:11:24.197 に答える