4

私はmvcの初心者です。テキストボックスに値を入力してTABを押した後、テキストボックスの値を変更する必要があるアプリケーションで作業しています。たとえば、テキストボックスに1を入力してTabを押すと、 +1が表示されますつまり、入力したテキストに+記号を連結する必要があります。これを行うには、テキスト ボックスの textchanged イベントを発生させようとしています。しかし、私はそれを行う方法を知りません.plsは私にいくつかの提案をします.

コード:

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

1 に答える 1

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が既存のテキストに追加されます。整数の加算を実行したい場合は、最初に現在の値を解析する必要があります。parseIntそのために、またはparseFloatメソッド (データ型に応じて) を使用できます。

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" })
于 2013-04-25T10:07:44.177 に答える