2012-04-29 31 views
8

jqueryを使用してその値を更新するには、このdisplayforが必要です。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>を生成します。

EDIT

(INCORRECT)私が間違っていたとあなたがLabelForヘルパーを使用していたと思いました。 DisplayForヘルパーは、HTMLマークアップを出力しません(ラベルやスパンタグなど)。それは本当にある -

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

この、以下のような.html() jQueryのプロパティを使用してみてください考える:あなたは、これがDisplayForヘルパーで作業したい場合は、以下のような類似した<span>か何かでDisplayForタグをラップする必要があります。 divまたはスパンでテキストを更新するよりも異なるません:

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

はまた、あなたのjQueryのコールが適切な<script></script>タグであることを、あなたが呼び出している関数が実際に発射されていることを確認してください。私は上記のコードがあなたのプロジェクトやスニペットからまっすぐであるかどうかはわかりませんが、上記のように何も起こりません。

+0

私のモデル=> model.EstimatedTimeを呼び出す方法はありますか? "Some Text"にあります。 – TMan

+0

ああ、それは私が持っていたように保ちませんでしたが、.htmlは正常なラベルを作成してその中にDisplayTextForを入れたときにうまくいったのです。 – TMan

+0

ちょうど私の答えを更新しました - あなたのためにまだ働いていなかった理由とあなたが最後のコメントでやったことをしなければならなかった理由についての詳細についてはEDITをご覧ください。 PS - ラベルタグの上にスパンタグを使用して一貫性を持たせます(これはフォームフィールドと関連していないので、ラベルではありません)。 – Tommy

関連する問題