C# 动态生成jQuery函数MVC4
目前,我正在将对象列表从控制器传递到视图,并根据对象的名称生成标签 我试图做的是生成一个jQuery函数,该函数将在单击后为每个标签动态创建函数(使用相对标签id切换表单) jQuery函数不工作,我无法在网页中输出相应的jQuery函数。。。。。。你能给我一些提示吗C# 动态生成jQuery函数MVC4,c#,javascript,jquery,asp.net-mvc-4,razor,C#,Javascript,Jquery,Asp.net Mvc 4,Razor,目前,我正在将对象列表从控制器传递到视图,并根据对象的名称生成标签 我试图做的是生成一个jQuery函数,该函数将在单击后为每个标签动态创建函数(使用相对标签id切换表单) jQuery函数不工作,我无法在网页中输出相应的jQuery函数。。。。。。你能给我一些提示吗 <table> @foreach (var item in Model) { <tr> <td> @Htm
<table>
@foreach (var item in Model)
{
<tr>
<td>
@Html.Label(item.productName, new { @id = item.productId})
</td>
</tr>
}
</table>
<script type="text/javascript">
$(document).ready(function () {
@foreach (var item in Model)
{
$(@item.productId).click)(function({
//do something
}));
}
});
</script>
@foreach(模型中的var项目)
{
@Html.Label(item.productName,新{@id=item.productId})
}
$(文档).ready(函数(){
@foreach(模型中的var项目)
{
$(@item.productId).单击)(函数({
//做点什么
}));
}
});
非常感谢 首先,您的JS语法是错误的。您要做的是为所有这些标签提供一个类名(例如
product\u lbl
)或一个数据属性(如果您不喜欢语义类名),例如product lbl
。这样,您就不必进行第二次循环来添加单击事件处理程序。您只需要一个,如下所示:
$('.product_lbl').on(
'click',
function() { /* Do something for whichever label was clicked */ }
);
或
首先,您的JS语法是错误的<代码>$('@item.productId')。在('click',function(){})上更符合您的需要,但是一种更便宜、更快的方法是为所有标签指定一个类名,并且只有一个单击处理程序;ie
$('.product_lbl')。在('click',function(){/*为单击的标签做点什么*/})
另外,$('idgoesher')
也会有所帮助。
$('[product-lbl]').on(
'click',
function() { /* Do something for whichever label was clicked */ }
);