动态生成jQuery 4 razor的jQuery函数

时间:2013-07-22 01:56:25

标签: c# javascript jquery asp.net-mvc-4 razor

目前,我将一个对象列表从控制器传递给视图,并按对象的名称生成标签。

我要做的是生成一个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>

非常感谢!

1 个答案:

答案 0 :(得分:2)

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

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

OR

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