我通常只使用下拉列表执行此操作,但客户端已请求将其作为文本输入...
基本上,我想使用Jquery验证器来检查用户是否在文本输入框中输入了50个有效美国州缩写中的1个。如果没有,他们会收到错误。我似乎找不到这样做的功能。非常感谢任何帮助!
答案 0 :(得分:18)
以下是您可以添加用于jquery validate
的验证方法首先声明一个验证器:
jQuery.validator.addMethod("isstate", function(value) {
var states = [
"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD",
"MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC",
"SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY",
"AS", "DC", "FM", "GU", "MH", "MP", "PR", "PW", "VI"
];
return $.inArray(value.toUpperCase(), states) != -1;
}, "Data provided is not a valid state");
然后应用验证器
$("#myform").validate()
并在您的表单中,您希望将类添加到表单元素以检查
<input type="text" value="de" class="isstate" />
答案 1 :(得分:1)
您可以使用change() listener只根据有效输入字符串列表检查输入,并且只有匹配时才启用提交按钮。
反正。对于用户体验,最好显示所有可能状态的下拉选择器列表。当我回答你的问题时,至少这是我的想法。
此致
克里斯
答案 2 :(得分:0)
这是一个肮脏的快速解决方案: