当有人开始输入项目编号时,我有一个文本框正在自动完成。这工作正常,但现在我想验证,如果他们只输入一个数字,不要从列表中选择一个验证它是一个工作。这是我自动完成的代码,文本框的id是projectnum。
$( '[name="projectnum"]' ).autocomplete({
source: "job_validate.php",
minLength: 3
});
答案 0 :(得分:2)
您可以使用remote属性。这将检查文本框的表单和onblur的提交,以验证作业是否有效。
http://docs.jquery.com/Plugins/Validation/Methods/remote
$("#yourForm").validate({
rules: {
projectnum: {
required: true,
remote: "job_validate.php"
}
}
});
答案 1 :(得分:1)
如果您正在使用jQuery UI自动填充,您可以使用类似于他们在演示页面上使用的组合框。它使用自动完成功能,但您只能在列表中选择一个值。
http://jqueryui.com/demos/autocomplete/#combobox
这使用页面的本地源而不是调用服务器的ajax。
答案 2 :(得分:0)
这不会只允许数字,左,右:
$("#field_id").keydown(function (event) {
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) // 0-9 or numpad 0-9
{
// check textbox value now and tab over if necessary
}
else if (event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 37 && event.keyCode != 39) // not esc, del, left or right
{
event.preventDefault();
}
// else the key should be handled normally
});
取自http://snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values