我有一个jquery代码,我必须在我的重复器中的所有项目运行此代码
在我的中继器我有一个按钮和标签我想要的是,当点击一个按钮在重复发送标签参数的jquery函数和运行它。我的Jquery代码如下。它现在给出了错误。因为imgBtnCopy在repeater里面所以它说没有名为imgBtnCopy的按钮。那么我如何在repeater 的itemcommand中运行这段代码呢?<script type="text/javascript">
$(document).ready(function () {
$('#' + '<%= imgBtnCopy.ClientID %>').zclip({
path: 'ZeroClipboard.swf',
copy: function () {
return $('#' + '<%= lblFile.ClientID %>').val();
},
afterCopy: function () {
}
});
});
</script>
ItemCommand
是中继器对象的服务器端事件。因为JQuery是客户端代码,所以这里有一点不匹配。
另外,如果您查看呈现的HTML的源代码,您将注意到错误消息是正确的。没有id为imgBtnCopy的对象。将是将imgBtnCopy作为部分 id的对象。ASP。. NET框架将为<ItemTemplate>
中的每个控件分配一个唯一的id。否则,您将得到具有相同id的多个控件。这可不是件好事。
话虽如此,你应该改变你的方法来考虑上述信息。
选择所有包含imgBtnCopy作为其id 部分的控件,使用如下的jquery选择器:
[id*=imgBtnCopy]
这样就可以选择id包含字符串imgBtnCopy的所有元素。*=是用于contains的JQuery操作符。然后将JQuery与这些按钮的click事件相关联。