1

私は次の機能を使用しています:

$.each($('.update-grid'), function (i, e) {
var ID = e.id.replace('modal', 'input');
$("#" + ID).val(e.value);
}); 

フォーム送信後に、このような入力フィールドに入力されたばかりの値を取得します。要件は、このユーザーが入力した値を取得して別のフィールドに入力することです。たとえば、#modal-title に入力された値をフィールド #input-title に転送します。

<input id="modal_Order_1" class="update-grid full-width" type="text" 
value="337" name="Content.Order" >

ただし、「e.value」は、フォームが送信される直前にユーザーが入力した値ではなく、値 337 を提供します。

入力された新しい値を取得する方法はありますか?

アップデート:

これはうまくいくようです:

        $('.update-grid')
            .each(function () {
                var id = this.id.replace('modal', '');
                $('#input' + id).val(this.value)
            })
4

1 に答える 1

0

関数の使い方が.each間違っています。イベントに依存する必要があります。.changeつまり、変更が入力された (フィールドがフォーカスを失った) 後にトリガーされます。

したがって、あなたのコードを考えると、私は次のように言います:

$('.update-grid').change(function () {

        var id = $(this).attr("id").replace('modal', 'input');

        var new_value = $(this).val();

        $('#' + id).val(new_value);

})
于 2012-08-20T10:21:39.927 に答える