如何在文本框值更改后替换span或class?

时间:2014-12-04 10:16:24

标签: c# jquery asp.net-mvc

在我的.cshtml页面上,我有:

<span id="oldDate" class="element-value2">
   @Html.EditorFor(m => m.Old)
   @Html.ValidationTooltipFor(m => m.Old)
</span>

<span id="actualDate" class="element-value2">
   @Html.EditorFor(m => m.Actual)
   @Html.ValidationTooltipFor(m => m.Actual)
</span>

element-value2使用callendar按钮使它们成为datepicker。 默认情况下,m.Actual值为null(可为空的DateTime)。

我需要做的是,如果m.Actual值已更改为某些内容,我需要将oldDate span替换为 新的:

<span>@Html.TextBoxFor(m => m.Old, new { disabled = "disabled", @class = "special-container fixed" })</span>

并将其返回,如果m.Actual值被删除。

怎么可以这样做?

P.S抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

使用jQuery可以做到这一点。 尝试以下。这可能会对你有所帮助

$('#Actual').change(function () {
        var actual = $(this).val();
        var old = $('#Old');
        if (actual == '') {
            old.parent().attr('class', 'element-value2');
            old.removeAttr('class');
            old.removeAttr('disabled');
        } else {
            old.parent().removeAttr('class');
            old.attr('class', 'special-container fixed');
            old.attr('disabled', 'disabled');
        }
    });