我的网页上有大约50 Textboxes
的动态Textboxes
。
用户可以在这些Textboxes
中设置订单号。我必须确保只能设置3个订单号&没有重复的条目。因此,用户只能输入1,2和2。 3在整个文本框中。如果他在某处进入4,他应该得到一个错误。其余文本框的0
为默认值。
如何迭代到所有文本框以检查不超过4&的值没有重复的条目&没有文本框空?
答案 0 :(得分:1)
我很确定有更优雅的方法可以做到这一点,但是这里是"直接前进"方式:
function validateTextBoxes() {
var values = [];
var isError = false;
var atLeastOneFilled = false;
$('input[type=text]').each(function (idx, elem) {
var val = $(elem).val();
if (isNaN(val)) {
isError = true; // input is not a number
} else // a number
{
var intVal = Number(val);
if (!isInt(intVal)) {
isError = true; // not an interger
} else {
if (intVal !== 0) // default
{
atLeastOneFilled = true;
if (intVal > 3 || intVal < 0) {
isError = true; // not in range
} else if (values.indexOf(intVal) > -1) {
isError = true; // duplicate
} else {
values.push(intVal);
}
}
}
}
});
return atLeastOneFilled && !isError;
}
function isInt(n) {
return n % 1 === 0;
}