1

次のコードを使用して、選択した div 値を入力に追加します。

    var lastFocus;
    $('.num-button').click(function(e){
        e.preventDefault();
        e.stopPropagation();
        //addOrRemoveWatermark(lastFocus);
        $(lastFocus).val($(lastFocus).val() + $(this).children('span').html());
    });
    $('.del').click(function(e){
        e.preventDefault();
        e.stopPropagation();
        //addOrRemoveWatermark(lastFocus);
        $(lastFocus).val(function(index, text){
            return text.replace(/(\s+)?.$/, '');
        });
    })

以下は、私が持っている入力パネルのサンプル画像です! これは、タッチ デバイス、つまりキー パッド用に開発されたものです。

ここに画像の説明を入力

スクリプトは正常に機能し、キーパッドでボタンを押すたびに値を追加します。私が直面している問題は、ユーザーが金額を入力した後に ajax 呼び出しを実行したい部屋番号です。しかし、ボタンをクリックするたびにフォーカスが削除されるため、フォーカスが別の入力に変更されたときにスクリプトを実行するにはどうすればよいですか。jquery.focusout()メソッドを試してみましたが、ユーザーが数字ボタンをクリックするたびに起動されます。

誰かが私に回避策を提案できれば、それは大きな助けになります! ありがとう!

4

1 に答える 1

1

おそらく、次のようなものでリクエストを遅らせることができます:

var roomNoChanged = false;
$('#room-number').change(function() {
    roomNoChanged = true;
});

$('#table-number, #no-of-guests').focus(function() {
    if(roomNoChanged) {
        roomNoChanged = false;
        $.post(...)
    }
});
于 2013-07-01T08:22:43.970 に答える