c# - 动态生成 jQuery 函数 mvc 4 razor

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

目前,我将对象列表从 Controller 传递到 View ,并按对象名称生成标签。

我想做的是生成一个 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 */ }
);

关于c# - 动态生成 jQuery 函数 mvc 4 razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17778863/

相关文章:

c# - 动态设置PDF文件名

javascript - jquery根据响应延迟进程

javascript - 存储 Jquery 引用

c# - Noda Time WeekOfWeekYear 从星期日开始而不是星期一

c# - 在 C# 中调用 javascript 函数

c# - 如果路径 protected ,请求 Windows Vista UAC 提升?

javascript - 多个预定义日期选择器

javascript - DOM 元素属性未定义 - jquery/ruby on Rails

javascript - 除非先单击同级元素,否则无法复制可拖动元素

javascript - HTML 5 视频无法播放