通过jquery更改DisplayFor Text / Value

时间:2012-04-29 17:35:06

标签: jquery asp.net-mvc razor

我需要这个displayfor来使用jquery来更新它的值。

我尝试了.val().text()但是没有用,是否有一种特殊的方法可以对显示器执行此操作,我需要将其作为显示器保留。

也可以不为显示器设置样式吗?我永远无法让它工作,它适用于TextboxFor。

感谢您的任何提示。

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

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

1 个答案:

答案 0 :(得分:18)

DisplayFor生成标签HTML代码<label id="myId" class="myClass">Some Text</label>。的(错误)

编辑

我错了,以为你在使用LabelFor助手。 DisplayFor助手不输出HTML标记(如标签或span标签)。如果您希望使用DisplayFor帮助程序,则需要将DisplayFor标记包含<span>或类似的内容,如下所示:

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

鉴于此,尝试使用如下所示的.html() JQuery属性 - 它与更新div或span中的文本没有什么不同:

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

此外,请确保您的JQuery调用位于相应的<script></script>标记中,并且您正在调用的函数实际上已被触发。我不确定上述代码是直接来自您的项目还是仅仅是片段,但如上所述,什么都不会发生。