在 Repeater ItemCommand 上运行 Jquery 代码
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ItemCommand
是转发器对象的服务器端事件。由于 JQuery 是客户端代码,因此这里有点不匹配。另外,如果您查看呈现的 HTML 的源代码,您会发现错误消息是正确的。没有 ID 为 imgBtnCopy 的对象。 将存在 imgBtnCopy 作为 id 部分的对象。 ASP.NET 框架将为
中的每个控件分配一个唯一的 ID。否则,您最终会得到多个具有相同 id 的控件。不是什么好事。话虽这么说,您应该改变方法来考虑上述信息。
要选择包含 imgBtnCopy 作为其 id 部分 的所有控件,请使用如下 jquery 选择器:
这样您就可以选择 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:
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.