13

如果我定义这样的文本框:

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

它将生成一个input带有id Contact_HomePhone.

是否可以id在没有硬编码的情况下在 JavaScript中获得它Contact_HomePhone

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

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

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

4

1 回答 1

20

试试这种方式,使用 Html.IdFor可以获取助手生成的id。

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

只需在它前面加上#for jquery 就可以了。

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

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

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

 $('.phoneField').mask("(999) 999-9999");
于 2013-10-10T03:41:47.113 回答