0

データをリピーター コントロールに表示し、各 Twitter ツイート ボタンがクリックされたときに値を asp 非表示フィールドに保存しようとしています。ツイート ボタンのクリック イベントを配線しています。ID値を格納するdata-属性があり、クリックイベントを使用して値を非表示フィールドに格納しています。

 $(".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に割り当てられていないようです。コードを少し見直して、私が間違っていることを確認してください。

ありがとう、

4

1 に答える 1

0

まず、匿名メソッドを再宣言して、パラメーターを受け取ることができるようにします。

$('.twitter-share-button').click(function (e) { ...

次に、$(this)共有ボタンのインスタンスを参照すると思います (ブラウザの開発者ツールで確認する必要があります)。idそして、属性を介して要素を参照することをお勧めします。

..."ClientID%>").val($('#id-of-your-element').data('monitor')...

(あなたがそうするつもりなら、私は間違っているかもしれません)。


そして 3 番目に、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 に答える