每次对其中一个输入进行更改时,我都会尝试使用.ruFileInput类遍历所有文件输入。
如果他们都被填满了我想做点什么 - 在这个例子中警告(“No Empty Fields !!”);
问题是,每次文件输入更改时,消息都会弹出,而不是一旦填充完就发出警报。有什么建议吗?
$('input.ruFileInput').live('change' , function () {
$("input.ruFileInput").each(function() {
if($(this).val() != ""){
alert("No Empty Fields!!");
}
});
});
答案 0 :(得分:1)
var doesEmptyExist = $("input.ruFileInput").filter(function(){
return this.value === "";
}).length > 0;
注意live
自1.7 后被弃用,并已在1.9 中删除,停止使用它!
$('#containerId').on('change', 'input.ruFileInput', function(){
var doesEmptyExist = $("input.ruFileInput").filter(function(){
return this.value === "";
}).length > 0;
if (!doesEmptyExist)
alert('no empty boxes');
});
答案 1 :(得分:1)
只需使用jQuery选择器:
if ($('input.ruFileInput[value=""]').length == 0) {
alert("No empty Fields");
}
答案 2 :(得分:0)
尝试设置布尔值,而不是.each
循环中的提醒。
$('input.ruFileInput').live('change', function () {
var isEmpty = false;
$("input.ruFileInput").each(function () {
if ($(this).val() != "") {
isEmpty = true;
break;
}
});
if (!isEmpty) {
alert("No Empty Fields!!");
}
});