在Repeater ItemCommand上运行Jquery代码

时间:2011-12-29 13:19:10

标签: javascript jquery asp.net repeater itemcommand

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

在我的中继器中,我有一个按钮和标签 我想要的是当单击转发器中的按钮时将label参数发送到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>

1 个答案:

答案 0 :(得分:1)

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

此外,如果您查看呈现的HTML的来源,您会注意到错误消息是正确的。没有id为 imgBtnCopy 的对象。 作为 imgBtnCopy 的对象作为ID的部分。 ASP.NET框架将为<ItemTemplate>中的每个控件分配唯一的ID。否则,您将得到具有相同ID的多个控件。不是一件好事。

话虽如此,你应该将你的方法转移到上述信息中。

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

[id*=imgBtnCopy]

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