我在我的 js 文件中做:
var aryYears= [];
$(".year").each(function(){
aryYears.push($(this).val());
})
所以我可以在 saveChanges 函数中发送一个年份数组作为参数。
我需要字段年份。如果数组的每一年都有一个值,我如何检查上面的代码?如果年份为空,如何触发警报或对话框?
万分感谢!!
我在我的 js 文件中做:
var aryYears= [];
$(".year").each(function(){
aryYears.push($(this).val());
})
所以我可以在 saveChanges 函数中发送一个年份数组作为参数。
我需要字段年份。如果数组的每一年都有一个值,我如何检查上面的代码?如果年份为空,如何触发警报或对话框?
万分感谢!!
我建议:
var aryYears= [];
$(".year").each(function(){
var v = $(this).val();
aryYears.push(v !== '' ? v : prompt('Please enter a year:'));
})
更新(一段时间后,由于几个意外的无限循环,叹息......):
function getValue(v, hint) {
if (v && v !== '') {
return v;
} else {
v = prompt('Please enter a ' + hint + ': ');
return getValue(v);
}
}
var aryYears = [];
$(".year").each(function () {
var v = $(this).val();
aryYears.push(getValue(v, 'year'));
})
console.log(aryYears);
如果没有别的,后一个示例应该让用户处于一个他/她感到沮丧到足以输入一个值的位置,但是没有对该值进行完整性检查;所以请记住验证用户输入。
还有一个更有用的版本,它突出显示input
您要求的值,并为其添加值input
:
function getValue(v, hint) {
if (v && v.trim() !== '') {
return v;
} else {
v = prompt('Please enter a ' + hint + ': ');
return getValue(v, hint);
}
}
var aryYears = [];
$(".year").each(function () {
var self = $(this),
v = $(this).val();
if (!v || v === '') {
self.addClass('invalid');
}
v = getValue(v, 'year');
aryYears.push(v);
self.removeClass('invalid').val(v);
})
console.log(aryYears);
尝试这样检查数组是否为空
$(".year").each(function(){
var val = $(this).val();
if(val)
aryYears.push($(this).val());
else
alert('null/ empty');
})
你的意思是这样的吗?
var aryYears= [];
$(".year").each(function(){
if($(this).val() == "") {
alert("The value of .year is empty");
} else {
aryYears.push($(this).val());
}
});
var aryYears = $(".year").map(function(){
if(this.value !== "")
return this.value;
}).get();
if(aryYears.length < $('.year').length){
alert("please enter all values");
}
你可以试试这个。
$('.something').each(function() {
var checkValue = $(this).val();
checkValue = $.trim(checkValue);
if (Math.floor(checkValue) == checkValue && $.isNumeric(checkValue)) {
if (checkValue == "") {
alert('not value');
}
}
});