0

私はMVC3アプリケーションを開発しています。これは私の編集ビューであり、編集したいテキストボックスです。

@Html.TextBoxFor(model => model.NoOfDays, new { @class="text_box_size",@size = "5" })

上記のテキストボックスの値に応じて、Jqueryを使用して他のテキストボックスを変更します

$(function () {
            $("input#NoOfDays").change(function () {
                var value =$("#NoOfDays").val();

                validation();

            });
        });

テキストボックスの値を変更した後、事前に作成した検証関数を呼び出しますが、機能しません。常に$( "#NoOfDays")。val();を返します。関数は古い値です。新しい値ではありません。誰でも私を助けてください

4

3 に答える 3

1

更新された値をパラメーターとして提供します。

$(function () {
            $("input#NoOfDays").change(function () {
                var value =$("#NoOfDays").val();    
                validation(value);    
            });
        });

.changeで問題が発生している場合は、次のようにすることもできます。

$("input#NoOfDays").live('change keyup', function() {
    do your code here ...
});
于 2012-10-18T04:41:07.560 に答える
1

あなたの質問はいくつかの作業を使用する可能性があるため、あなたが何をしようとしているのか正確にはわかりませんが、私があなたを正しく理解している場合は、あなたが示した例が変わったときに他のテキストボックスの値を更新したいと思います。それが正しい場合は、これを試してください。

$(function () {
    $('input#NoOfDays').on('blur', function (event) {
        var value = $(this).val();

        $('#id_of_other_textbox').val(value);

        // ... the rest of your code ...

    });
});

onjQuery1.7以降が必要です。

HTH。

編集:onを使用する(そして処理するイベントを指定する)clickことonと、複数のイベントを処理するために使用できるデリゲートとの主な違いは、 click(明らかに)イベントのみをリッスンすることonclickです。動的イベントにバインドする場合にも役立ちます。静的な親にバインドしてから、動的な要素に一致するセレクターにフィルターをかけます。

$(function () {
    $('#container-id').on('blur', 'input.dynamic-element-class', function (event) {

        // ... the rest of your code ...

    });
});
于 2012-10-18T05:25:51.933 に答える
0

onchangeの代わりに、onBlurイベントを使用してみてください。

ありがとう

カウシク

于 2012-10-18T05:13:39.960 に答える