我有一个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>
答案 0 :(得分:1)
ItemCommand
是转发器对象的服务器端事件。由于JQuery是客户端代码,因此这里有一些不匹配。
此外,如果您查看呈现的HTML的来源,您会注意到错误消息是正确的。没有id为 imgBtnCopy 的对象。 将作为 imgBtnCopy 的对象作为ID的部分。 ASP.NET框架将为<ItemTemplate>
中的每个控件分配唯一的ID。否则,您将得到具有相同ID的多个控件。不是一件好事。
话虽如此,你应该将你的方法转移到上述信息中。
要选择包含 imgBtnCopy 的所有控件作为其ID的部分,请使用如下的jquery选择器:
[id*=imgBtnCopy]
这样您就可以选择所有id包含字符串 imgBtnCopy 的元素。 * =是包含的JQuery运算符。然后,您可以将JQuery连接到每个按钮的click事件。