【问题标题】:Get id of element for JavaScript in MVC4/Razor from nested object in model从模型中的嵌套对象获取 MVC4/Razor 中 JavaScript 的元素 id
【发布时间】:2013-10-17 16:09:15
【问题描述】:

如果我这样定义一个文本框:

@Html.TextBoxFor(m => m.Contact.HomePhone)

它将生成一个带有id Contact_HomePhoneinput 元素。

是否有可能在 JavaScript 中得到这个 id 而无需硬编码 Contact_HomePhone

这是我在 JavaScript 中动态需要 id 的示例:

$("#Contact_HomePhone").mask("(999) 999-9999");

(我知道如何使用反射获取属性名称,但仍然需要硬编码 _ 以连接 ContactHomePhone。)

【问题讨论】:

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


    【解决方案1】:

    试试这个方法,使用Html.IdFor可以得到helper生成的id。

    $('#@Html.IdFor(m => m.Contact.HomePhone)').mask("(999) 999-9999");
    

    只需在它前面加上 # 就可以让 jquery 获取它。

    但是您也可以使用类选择器绑定插件,例如,如果您有许多这样的电话字段,您可以为所有这些文本框提供一个公共类并使用类选择器将掩码插件绑定到它,这将避免确定id 使用上述方法并使用通用选择器。

      @Html.TextBoxFor(m => m.Contact.HomePhone, null, new { @class = "phoneField"});
    

    而且不用担心 id 你可以绑定它们。

     $('.phoneField').mask("(999) 999-9999");
    

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多