文本框中mvc中的Textchanged事件

cod*_*der 4 asp.net-mvc-4

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

码:

 @Html.TextBoxFor(m => m.text)--textbox
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 5

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

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

如果你不想使用像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;
    };
};
Run Code Online (Sandbox Code Playgroud)

注意:这会将字符串值添加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');
}
Run Code Online (Sandbox Code Playgroud)

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

@Html.TextBoxFor(m => m.text, new { id = "id_of_your_textbox" })
Run Code Online (Sandbox Code Playgroud)