-1

mvc3 DataAnnotations 有一个 Description 属性:

例如

[Display (Name="Title", Description="description about the title")]
public string Title { set; get}; 

在我看来,我想在 .blur 上使用 jquery 显示输入的描述文本。

<script type="text/javascript">
   $(function () {
     $("#title").blur(function () {
        ???
    });
});

@Html.LabelFor(model => model.Title)
//description here, not sure how to map it.
@Html.LabelFor()//description would go here
@Html.TextBoxFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)

谢谢!

4

2 回答 2

1

我以前从未使用过描述,但假设它可能添加了一个标题标签,那么你可以使用它:

var desc = $(this).attr("title");
alert(desc);
于 2012-04-17T22:18:19.813 回答
1

我不认为添加描述会为您的输入元素添加标题标签。您可能想提一下,当您创建这样的文本框时

@Html.TextBoxFor(model => model.Title, new {@title="Your description"})

这将为您的输入元素生成一个标题标签,正如 minus4 所提到的,您可以使用 jQuery 来访问它。

$(function () {
  $("#Title").blur(function () {
       alert($(this).attr("title"));
  });        
});

您可能想要使用通用选择器而不是特定选择器 (ID),类似于所有这些输入元素的类名

编辑: 基于关于通用选择器和特定选择器的评论

每个元素的 ID 应该是唯一的,所以如果你有 8 个元素,那么元素将(并且应该)有 8 个唯一的 ID。在这种情况下,您需要通过 ID 将您的函数绑定到 8 个不同的项目,如下所示

   $("#Title,#Name,#City,#JobTitle,#SomeOther,#LastName,#Hi,#Ho").blur(function () {
           alert($(this).attr("title"));
    });  

但是如果你有一个应用于所有这些元素的公共类,你可以像这样使用它(下面将函数绑定到所有具有 css 类值的元素mySimpleClass

   $(".mySimpleClass").blur(function () {
           alert($(this).attr("title"));
    });

您可以使用其他选择器,例如子选择器。(下面的代码会将您的功能绑定到divContainerdiv中存在的所有文本类型的输入元素

   $("#divcontainer input type[text]").blur(function () {
           alert($(this).attr("title"));
    });

要在使用 Html.TextBox 作为 HTML 助手时将 Css 类添加到您的输入元素,您可以像这样使用它

@Html.TextBoxFor(model => model.Title, new {@title="Your description", @class="mySimpleClass"})
于 2012-04-17T22:29:13.523 回答