2012-04-17 56 views
-1

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!

回答

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這樣

$("#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"}) 
+0

THX,你是什麼意思「,而不是使用特定選擇器的通用選擇(ID)」?我有8個文本框,我應該爲每個文本框添加@title嗎? – Ben 2012-04-17 22:44:08

+0

@Ben:查看我的更新回答 – Shyju 2012-04-17 22:52:14

+0

非常感謝您的解釋。 – Ben 2012-04-17 22:54:46

1

我以前從來沒有使用說明,但假設它增加可能是標題標籤,那麼你可以使用這個:

var desc = $(this).attr("title"); 
alert(desc);