MVC3显示来自.blur上的DataAnnotations属性的描述
问题描述:
mvc3 DataAnnotations具有Description属性:MVC3显示来自.blur上的DataAnnotations属性的描述
例如,
[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)
THX!
答
我不认为加入说明会的标题标签添加到您的输入元素。您可能大概要提的是,当你创建一个这样
@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这样
$("#Title,#Name,#City,#JobTitle,#SomeOther,#LastName,#Hi,#Ho").blur(function() {
alert($(this).attr("title"));
});
的功能结合到8名不同的项目,但如果你有被应用到所有这些因素共同类,你可以使用它像(以下将所述功能结合到具有CSS类值mySimpleClass
$(".mySimpleClass").blur(function() {
alert($(this).attr("title"));
});
所有元素
你可以使用其他选择器等子选择。(以下的代码的功能结合到类型文本的所有输入元件,其存在于divContainer
div
$("#divcontainer input type[text]").blur(function() {
alert($(this).attr("title"));
});
的CSS类添加到您的输入元素,同时使用Html.TextBox的HTML帮助,您可以使用它像这样
@Html.TextBoxFor(model => model.Title, new {@title="Your description", @class="mySimpleClass"})
答
我以前从来没有使用说明,但假设它增加可能是标题标签,那么你可以使用这个:
var desc = $(this).attr("title");
alert(desc);
THX,你是什么意思“,而不是使用特定选择器的通用选择(ID)”?我有8个文本框,我应该为每个文本框添加@title吗? – Ben 2012-04-17 22:44:08
@Ben:查看我的更新回答 – Shyju 2012-04-17 22:52:14
非常感谢您的解释。 – Ben 2012-04-17 22:54:46