【问题标题】:Textchanged event in mvc for a Textbox文本框的 mvc 中的 Textchanged 事件
【发布时间】:2013-04-25 10:03:48
【问题描述】:

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

代码:

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

【问题讨论】:

    标签: asp.net-mvc-4


    【解决方案1】:

    您可以使用 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');
    }
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      相关资源
      最近更新 更多