0

我的数据显示在转发器控件中,并且在单击每个 Twitter 推文按钮时,我试图将值保存到 asp 隐藏字段中。我正在为推文按钮连接点击事件。有一个存储 id 值的 data- 属性,我正在使用 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 分配给隐藏字段。任何人都可以看一下代码,看看我做错了什么。

谢谢,

4

1 回答 1

0

首先,尝试重新声明您的匿名方法,以便它可以接收参数:

$('.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);
});
  • 或者将事件处理程序放置到 document.load 事件中:
$(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>
于 2013-09-16T08:51:21.150 回答