2

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

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

非常感谢!

4

1 回答 1

2

对于初学者,您的 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 */ }
);
于 2013-07-22T02:09:30.230 回答