我这里有一个关于对话框的工作代码,该对话框允许用户输入一些东西,但我在实现只接受数字输入的函数时遇到问题。
对话框代码:
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;
}
我的问题是如何在对话框的输入框中调用该函数。 任何帮助或建议都会很乐意接受。提前谢谢。
答案 0 :(得分:0)
可能更容易使用this input mask之类的东西。无论如何,如果您想使用自定义功能,您可能希望在输入中使用.keyup()功能:
$('input').keyup(function() {
// Do something
});
答案 1 :(得分:0)
尝试:
$('#inputbox').keydown (function () {
$(this).val().replace(/[^\d]/g, '');
});
这基本上将取代所有非数字。在keydown
活动中使用它。