在 Repeater ItemCommand 上运行 Jquery 代码

发布于 2024-12-23 16:51:06 字数 621 浏览 2 评论 0原文

我有一个 jquery 代码,我必须为中继器中的所有项目运行此代码

在我的中继器中,我有一个按钮和标签 我想要的是当单击中继器中的按钮时将标签参数发送到 jquery 函数并运行它。我的 Jquery 代码如下。它现在给出错误。因为 imgBtnCopy 位于转发器内部,所以它说没有名为 imgBtnCopy 的按钮。那么我如何在中继器的 itemcommand 中运行此代码

<script type="text/javascript">
     $(document).ready(function () {
         $('#' + '<%= imgBtnCopy.ClientID %>').zclip({
             path: 'ZeroClipboard.swf',
             copy: function () {
                 return $('#' + '<%= lblFile.ClientID %>').val();
             },
             afterCopy: function () {

             }
         });

     });

</script>

I have a jquery code and i have to run this code for all items in my repeater

In my repeater i have a button and label
what i want is when click a button in repeater send the label parameter to jquery function and run it. My Jquery code is below. it gives error now. Because imgBtnCopy is inside in repeater so it says there is no button with the name imgBtnCopy. So how can i run this code in itemcommand of repeater

<script type="text/javascript">
     $(document).ready(function () {
         $('#' + '<%= imgBtnCopy.ClientID %>').zclip({
             path: 'ZeroClipboard.swf',
             copy: function () {
                 return $('#' + '<%= lblFile.ClientID %>').val();
             },
             afterCopy: function () {

             }
         });

     });

</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明明#如月 2024-12-30 16:51:06

ItemCommand 是转发器对象的服务器端事件。由于 JQuery 是客户端代码,因此这里有点不匹配。

另外,如果您查看呈现的 HTML 的源代码,您会发现错误消息是正确的。没有 ID 为 imgBtnCopy 的对象。 存在 imgBtnCopy 作为 id 部分的对象。 ASP.NET 框架将为 中的每个控件分配一个唯一的 ID。否则,您最终会得到多个具有相同 id 的控件。不是什么好事。

话虽这么说,您应该改变方法来考虑上述信息。

要选择包含 imgBtnCopy 作为其 id 部分 的所有控件,请使用如下 jquery 选择器:

[id*=imgBtnCopy]

这样您就可以选择 id 包含字符串 imgBtnCopy。 *= 是 JQuery 的 contains 运算符。然后,您可以将 JQuery 连接到每个按钮的单击事件。

ItemCommand is a server-side event of the repeater object. Since JQuery is client-side code, you have a bit of a mismatch here.

Also, if you view the source of your rendered HTML, you will notice that the error message is correct. There is no object with an id of imgBtnCopy. There will be objects with imgBtnCopy as part of the id. The ASP.NET framework will assign a unique id to each control in your <ItemTemplate>. Otherwise, you will end up with multiple controls with the same id. Not a good thing.

That being said, you should shift your approach to factor in the information above.

To select all controls that contain imgBtnCopy as part of their id, use a jquery selector like this:

[id*=imgBtnCopy]

That way you select all elements that have an id that contains the string imgBtnCopy. The *= is the JQuery operator for contains. You would then hook up your JQuery to the click event of each of these buttons.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文