我使用以下代码将选定的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()方法,但是每次用户单击数字按钮时都会被触发。

如果有人可以建议我解决问题,那将是很大的帮助!
谢谢!

最佳答案

也许您可以使用以下类似的方法延迟请求:

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

$('#table-number, #no-of-guests').focus(function() {
    if(roomNoChanged) {
        roomNoChanged = false;
        $.post(...)
    }
});

09-09 21:54