0

每次输入之一发生更改时,我都尝试使用 .ruFileInput 类循环遍历所有文件输入。

如果他们都被填满了,我想做点什么——在这个例子中 alert("No Empty Fields!!");

问题是每次文件输入更改时都会弹出消息,而不是在它们全部填充后发出警报。有什么建议么?

$('input.ruFileInput').live('change' , function () { 
    $("input.ruFileInput").each(function() {
        if($(this).val() != ""){
            alert("No Empty Fields!!");
        }
    });
});
4

3 回答 3

1
var doesEmptyExist = $("input.ruFileInput").filter(function(){
    return this.value === "";
}).length > 0;

Notelive自 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');
});
于 2013-01-29T20:30:06.617 回答
1

只需使用 jQuery 选择器:

if ($('input.ruFileInput[value=""]').length == 0) {
    alert("No empty Fields");
}
于 2013-01-29T20:33:52.123 回答
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!!");
    }
});
于 2013-01-29T20:31:39.070 回答