Javascript 如何在MVC4Razor中设置ID并动态使用它?
我在foreach中有html元素。我无法手动向这些用户声明ID名称。 我使用id='ProductSelect@item.id'设置id:Javascript 如何在MVC4Razor中设置ID并动态使用它?,javascript,jquery,asp.net-mvc,attributes,click,Javascript,Jquery,Asp.net Mvc,Attributes,Click,我在foreach中有html元素。我无法手动向这些用户声明ID名称。 我使用id='ProductSelect@item.id'设置id: foreach (var item in Model) { <a href="#" id='ProductSelect_@(item.Id)' class="select-link">Select this</a> } 编辑: 此单击功能向控制器发送请求迭代次数。我的代码有什么问题?我建议使用属性 fo
foreach (var item in Model)
{
<a href="#" id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
}
编辑:
此单击功能向控制器发送请求迭代次数。我的代码有什么问题?我建议使用属性
foreach (var item in Model)
{
<a href="#" data-id='@item.Id' id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
}
这样,您就可以连接到所有类似的链接,例如,选择列表,而每个id没有单独的处理程序函数。$'a'。单击;我能做到。其实你的目的不清楚。为什么您只想选择特定的id来执行这些操作?例如,asume that,answer accept structure in。我需要的想法是类似的,从答案列表中选择任何动态排列的项目。谢谢,它可以工作,但当我单击任何链接时,操作会工作很多次,直到每次结束…检查输出代码HTML。您可能正在通过循环连接我在每个迭代中发布的JS。在我的代码中,你只需要添加一次JS,即在循环之后,然后它就可以用于所有链接。我编辑了我的问题。请看。输出代码是正确的。数据id的值排列为1、2、3。id='ProductSelect@item.id'也可以工作,但是,请求多次转到控制器迭代计数这仍然不正确。你不理解我。每个循环添加一次脚本块。在浏览器中查看源代码。如果您在输出HTML中多次看到该脚本块,那么这就是您的问题。好的,当然是我的问题。我只需要从链接中选择一个项目,比如在中接受答案。当我点击任何链接时,将其id发送给控制器。
<script>
$(document).ready(function () {
$('.select-link').click(function() {
var id = $(this).attr('data-id');
url = '@Url.Action("SelectThis", "Product")';
var data = { id: '@Model.Id' };
$.post(url, data, function (result) {
if (result.success) {
alert("Thanks");
}
else {
alert("Problem occured...");
}
});
});
});
</script>
foreach (var item in Model)
{
<a href="#" data-id='@item.Id' id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
}
$('.select-link').click(function()
{
var id = $(this).attr('data-id');
});