繁体   English   中英

如何将Repeater中控件的clientId传递给JavaScript函数?

[英]How to pass clientId of a control in Repeater to JavaScript function?

我有两列的中继器。 在第一列中,我有一个图像按钮,单击时我正在调用javascript函数。

在第二栏中,我有一个标签。 我想将此标签的客户端ID传递给单击ImageButton时调用的javascript函数。

<asp:Repeater ID="rptElements" runat="server">
<ItemTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td>
            <table>
                    <tr>
                        <td id="tdElementType" runat="server">
                           <asp:ImageButton ID="imgShow" runat="Server" Visible="false" OnClientClick="return DisplayElementDetails(this);" />
                        </td>
                        <td>
                           <asp:Label ID="lblElementDetails" Text='<%# Eval("ElementDetails")%>' runat="server" />
            </td>
                        </tr>
        </table>
    </td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>

我想到了。 我在javascript函数中添加了以下代码:

function DisplayElementDetails(obj)
            {
                var name = obj.id.substring(0,(obj.name.length)-7) + "lblElementDetails"
                var obj = document.getElementById(name);
                obj.style.display = 'none';
                return false;
            }

并设置标签控件的样式

<asp:Label ID="lblElementDetails" Text='<%# Eval("ElementDetails")%>' runat="server" style="display:block" />

现在正在工作。

这可以通过Jquery完成。 将CSSclass添加到按钮和标签,以使用CSS选择器选择它们

<td id="tdElementType" runat="server">
   <asp:ImageButton ID="imgShow" runat="Server" Visible="false" CssClass="showButton" /></td>
<td>
   <asp:Label ID="lblElementDetails" Text='<%# Eval("ElementDetails")%>' runat="server"   CssClass="lblElement"/>
</td>

在aspx页面上引用JQuery并在图像按钮的单击事件上调用函数

<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
             $(".showButton").click(function(){

                 $(".lblElement").toggle();
             });
        });
    </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM