文本框中mvc中的Textchanged事件

时间:2013-04-25 10:03:49

标签: asp.net-mvc-4

我是mvc的初学者。我正在开发一个应用程序,我需要在输入一个值后更改文本框的值并按TAB键。例如,当我输入 1 时在文本框和按Tab键中,它应显示 +1 ,即我需要将 + 符号连接到我输入的文本。要执行此操作,我尝试引发textchanged事件对于文本框。我怎么能这样做。当我用Google搜索它时,我发现它可以使用javascript完成。但我不知道该怎么做,请给我一些建议。

代码:

 @Html.TextBoxFor(m => m.text)--textbox

1 个答案:

答案 0 :(得分:5)

您可以使用jQuery并订阅blur事件,当输入字段失去焦点时将触发该事件:

$(function() {
    $('#id_of_your_textbox').blur(function() {
        var value = $(this).val();
        var newValue = value + '1';
        $(this).val(newValue);
    });
});

如果您不想使用jQuery这样的javascript框架,您可以使用普通的javascript实现相同的目标:

window.onload = function() {
    document.getElementById('id_of_your_textbox').onblur = function() {
        var value = this.value;
        var newValue = value + '1';
        this.value = newValue;
    };
};

注意:这会将字符串值1添加到现有文本中。如果要执行整数加法,则需要先解析当前值。您可以使用parseIntparseFloat方法(取决于数据类型):

var value = parseInt($(this).val());
if (!isNaN(value)) {
    var newValue = value + 1;
    $(this).val(newValue);
} else {
    alert('You have entered an invalid integer value');
}

以下是如何为您可以在javascript选择器中使用的文本字段分配确定性ID:

@Html.TextBoxFor(m => m.text, new { id = "id_of_your_textbox" })