我对jQuery和编码很新,并且想知道是否有人可以帮助我。
我有两个输入字段(#cp1&#cp2)一个提交按钮(#enter)和两个数组(arr1& arr2)。
arr1 = ["1700", "1000", "1749"];
arr2 = ["001", "002", "003"];
#cp1
应为:仅限数字;最多4位数;最少4位数;并且仅在其值等于arr1
中的值时才进行验证。
#cp2
应为:仅限数字;最多3位数;最少3位数;并且仅在其值等于arr2
中的值时才进行验证。
按#enter后,应检查#cp1和#cp2是否都为真,并返回相应的警告信息。
这是我的HTML:
<input id="cp1" type="text" maxlength="4" onkeypress='return event.charCode >= 48 && event.charCode <= 57'></input>
<input id="cp2" type="text" maxlength="3" onkeypress='return event.charCode >= 48 && event.charCode <= 57'></input>
<button type="submit" id="enter">Confirmar</button>
如果每个输入只有一个变量,但我不知道如何在数组中搜索正确的值,我就能说得对。
提前致谢!
答案 0 :(得分:0)
使用jQuery(Fiddle):
arr1 = ["1700", "1000", "1749"];
arr2 = ["001", "002", "003"];
$(function() {
$("#enter").click(function() {
if(jQuery.inArray($("#cp1").val(), arr1) == -1)
alert('Value not in first array');
if(jQuery.inArray($("#cp2").val(), arr2) == -1)
alert('Value not in second array');
});
});
答案 1 :(得分:0)
看一下下面的演示。它使用data
属性和arr.filter
来执行验证并将数组放入对象中。
$(function() {
var varr = {
arr1: ["1700", "1000", "1749"],
arr2: ["001", "002", "003"]
};
$('[data-arr]').on('keypress', function(e) {
var arr = $(this).data('arr'),
key = String.fromCharCode(e.charCode),
val = this.value,
fnd = varr[arr].filter(function(v) {
return v.slice(0, val.length + 1) == val + key;
});
if(!fnd.length) {
e.preventDefault();
}
console.log(arr, key, val, fnd);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="cp1" data-arr="arr1" type="text" maxlength="4"></input>
<input id="cp2" data-arr="arr2" type="text" maxlength="3"></input>
<button type="submit" id="enter">Confirmar</button>