0

これは機能していません。何が問題なのかわかりません。私はhref onclickをまったく使用したくありません。通常、ahrefリンクでIDを使用し、その方法でjavascriptを実行しますが、リンクから関数にパラメーターを渡す必要があります。他の選択肢があるかどうかわかりませんか?

パラメータを使用するコードは表示されません。基本的にはフォーラム リンクですが、トピックを div にロードします

function changetotopicdetails(topicid, topicname) {
    $('#loadingAjaxs').show();
    $('#flubestext').hide();

<a href="javascript:changetotopicdetails(@following.Id, @following.ShortName);">@following.Title</a>

私は通常、次のようなことをします

$('#changeuserstwohour').click(function () {
       $('#userswrap').load('@Url.Action("TrendingUsersMenutwohr", "Trending")');
    });

しかし、そうすることで、ループ中に関数にパラメーターを送信できません(トピックのリスト)

助言がありますか?

回答は、新しい {} に渡される変数が必要であることを指摘しました

$('#changeuserstwohour').click(function () {
       $('#userswrap').load('@Url.Action("TrendingUsersMenutwohr", "Trending", new {@theid = id, @thename = name})');
    });
4

2 に答える 2

1

通常のクリック機能、eventListener、またはバインドを実行し、データ値を使用してユーザー名とトレンド値を示すことができます。

あなたのタグは次のようになります

<a href="#" data-id='@following.Id' data-short-name='@following.ShortName'>@following.Title</a>

そして、次のような通常のクリック機能

$('#changeuserstwohour').click(function () {
   $('#userswrap').load('@Url.Action($(this).data(id), $(this).data(short-name)');
});

複数ある場合は .each() を使用するか、各 ajax ロード後に呼び出して、新しいオブジェクトを確実にリッスンする必要がある場合があります。実際には機能がないため、これをテストしていませんが、これは機能するはずです! それがどうなるか、また別の質問がある場合は教えてください:)

于 2013-09-28T20:26:10.980 に答える
1

これまでに提供された両方の手法の組み合わせは、おそらくあなたが本当に求めているものです.

個々のアクション リンクのマークアップは次のようになります。

 <a href="#" class="selectorForYourActions" data-id='@following.Id' data-short-name='@following.ShortName'>@following.Title</a>

そして、あなたのオンクリックコールバックは次のようになります

$('#idOfContainerYourLoopCreatesItemsWithin').on("click", "a.selectorForYourActions", function () {
   $('.userswrap').load('@Url.Action($(this).data(id), $(this).data(short-name)');
});

これは、ID セレクターによって選択された要素内で作成された場合、そのクラスに一致する動的に作成されたアイテムをキャッチしますが、マーカー クラスを持つアンカー タグのクリックのみを処理します。 ) 通常の (または異なる) 機能を持つ ID とアンカー。

于 2013-09-28T20:36:50.817 に答える