我将数据显示在转发器控件中,并且当我点击每个推特推文按钮时,我试图将值保存到asp隐藏字段中。我正在连接点击事件的推文按钮。有一个data-attribute存储一个id值,我正在使用click事件将值存储到隐藏字段中。
$(".twitter-share-button").click(function(){
$("#<%=hidTwitterSharedMonitorId.ClientID%>").val($(this).data('monitor').monitorId);
});
<a href="https://twitter.com/intent/tweet" class="twitter-share-button" data-monitor='{"monitorId":<%#Eval("ID")%>}' data-count="none">Tweet</a>
似乎没有将id分配给hiddenfield。任何人都可以查看一下代码,看看我做错了什么。
谢谢,
答案 0 :(得分:0)
首先,尝试重新声明您的anonymoous方法,以便它可以接收参数:
$('.twitter-share-button').click(function (e) { ...
其次,我相信您的$(this)
将引用共享按钮的实例(您应该在浏览器的开发人员工具中观察)。我建议通过id
属性引用该元素。
..."ClientID%>").val($('#id-of-your-element').data('monitor')...
(关于第二个我可能错了,如果你 打算那样做。)
第三,jquery事件处理程序应位于之后所引用的元素,因此:
<a href="https://twitter.com/intent/tweet" class="twitter-share-button" data-monitor='{"monitorId":<%#Eval("ID")%>}' data-count="none">Tweet</a>
$(".twitter-share-button").click(function() {
$("#<%=hidTwitterSharedMonitorId.ClientID%>").val($(this).data('monitor').monitorId);
});
$(function () {
$(".twitter-share-button").click(function() {
$("#<%=hidTwitterSharedMonitorId.ClientID%>").val($(this).data('monitor').monitorId);
});
});
<a href="https://twitter.com/intent/tweet" class="twitter-share-button" data-monitor='{"monitorId":<%#Eval("ID")%>}' data-count="none">Tweet</a>