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 回答