动态生成jQuery函数mvc 4 razor

Generate jQuery functions dynamically mvc 4 razor

本文关键字:mvc razor 函数 jQuery 动态      更新时间:2023-09-26

当前,我正在将对象列表从控制器传递到视图,并根据对象名称生成标签。

我想做的是生成一个jQuery函数,该函数将在单击后为每个标签动态创建函数(切换具有相对标签id的表单)。

jQuery函数不工作,我无法在网页中输出相应的jQuery函数。。。。。。你能给我一些提示吗?

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

非常感谢!

首先,您的JS语法是错误的。您想要做的是给所有这些标签一个类名(如product_lbl)或一个数据属性(如果您不喜欢语义类名),如product-lbl。这样,您就不必执行第二个循环来添加单击事件处理程序。你只需要一个,就像这样:

$('.product_lbl').on(
    'click', 
    function() { /* Do something for whichever label was clicked */ }
);

$('[product-lbl]').on(
    'click', 
    function() { /* Do something for whichever label was clicked */ }
);