2012-04-29 103 views
8

我需要此顯示從使用jquery更新其值。通過jquery更改DisplayFor文本/值

我試過.val().text()但都沒有工作,有沒有一種特殊的方式來做到這一點的顯示器,我需要它並保持顯示。

也可以不顯示設置樣式?我永遠不可能得到這個工作,它適用於TextboxFor。

感謝您的任何提示。

Estimated Time: @Html.DisplayFor(model => model.EstimatedTime, new { @class = "TitleEstTimeClass", @style = "color: green" }) 

$(".TitleEstTimeClass").val(result[1]); 

回答

18

DisplayFor生成標籤HTML標記<label id="myId" class="myClass">Some Text</label>(不正確)

編輯

我錯了,還以爲你在使用LabelFor幫手。 DisplayFor幫助器不輸出HTML標記(如標籤或跨度標籤)。如果你想這與DisplayFor輔助工作,您將需要一個類似像下面<span>或東西來包裝DisplayFor標籤:

<span class="TitleEstTimeClass" style="color: green"> 
    @Html.DisplayFor(model => model.EstimatedTime) 
</span> 

鑑於此,請嘗試使用.html() JQuery的財產像下面 - 它確實是沒有比股利或跨度更新文本不同:

$(".TitleEstTimeClass").html(result[1]); 

另外,還要確保您的JQuery調用是在適當的<script></script>標籤和您呼叫的功能實際上是被解僱。我不確定上面的代碼是直接來自你的項目還是隻是片段,但是如上所述,什麼都不會發生。僅使用我如何可以調用我的模型=> model.EstimatedTime

+0

關係嗎?並且有它在「一些文本」 – TMan

+0

哦它沒有工作,保持自己擁有了它,但是做的.html工作時,我剛剛創建了一個普通的標籤,只是把一個DisplayTextFor它裏面。 – TMan

+0

剛剛更新我的答案 - 請參閱有關詳細信息,編輯,爲什麼仍然不爲你工作,你爲什麼必須做你在最後的評論做了什麼。 PS - 我會用一個span標籤上的一致性標籤標籤(這不是一個表單字段asssociated,因而不是真正的標籤) – Tommy