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

您可以执行通常的单击功能、事件侦听器或绑定并使用数据值来指示您的用户名和趋势值。

所以你的标签看起来像

<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 回答