Dialogbox仅限输入数字

时间:2014-02-18 11:08:26

标签: javascript jquery

我这里有一个关于对话框的工作代码,该对话框允许用户输入一些东西,但我在实现只接受数字输入的函数时遇到问题。

对话框代码:

HTML:

<p>You have entered: <span id="buttonoutput"></span></p>
<a id="opendialog" data-role="button">Sample Dialogbox</a>

jQuery的:

$(document).delegate('#opendialog', 'click', function() {

  $('<div>').simpledialog2({
    mode: 'button',
    headerText: 'Hmm?',
    headerClose: true,
    buttonPrompt: 'Please Type Something',
    buttonInput: true,
    buttons : {
      'OK': {
        click: function () { 
          $('#buttonoutput').text($.mobile.sdLastInput);
        }
      },
    }
  })
})

我的输入限制功能:

            //only accepts numerical input
    function isNumberKey(evt){
        var charCode = (evt.which) ? evt.which : event.keyCode;
        if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
        return true;
    }

我的问题是如何在对话框的输入框中调用该函数。 任何帮助或建议都会很乐意接受。提前谢谢。

2 个答案:

答案 0 :(得分:0)

可能更容易使用this input mask之类的东西。无论如何,如果您想使用自定义功能,您可能希望在输入中使用.keyup()功能:

$('input').keyup(function() {
    // Do something
});

答案 1 :(得分:0)

尝试:

$('#inputbox').keydown (function () {
 $(this).val().replace(/[^\d]/g, '');
});

这基本上将取代所有非数字。在keydown活动中使用它。