jquery中判断数组是不是为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery中判断数组是不是为空相关的知识,希望对你有一定的参考价值。

<form action="">
<input type="file" name="fname[]" />
<input type="file" name="fname[]" />
<input type="file" name="fname[]" />
<input type="file" name="fname[]" />
</form>这是一个批量上传图片,jquery中如何判断上传文件是否为空,也就是一个都没上传

参考技术A 可以通过判断数组的长度length来判断数组是否为空百,空数组的length值为空。数组的
length
属性总是比数组中定义的最后一个元素的下标大
1。对于那些具有连续元素,而且以元素
0
开始的常规数组而言,属性
length
声明了数组中的元素的个数。数组的
length
属性在用构造函数
Array()
创建数组时被初始度化。给数组添加新元素时,如果必要,将更新
length
的值。
设置
length
属性可改变数组的大小。如果设置的值比其当前值小,数组版将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为权
undefined。
工具原料:编辑器、浏览器
1、如果一个数组为空则其属性length为0否则为数组的实际长度,代码如下:
var a=[]
var b=[1,2,3]
a.length
b.length2、早console的控制台的输出结果如下:
3、a按照这个原理直接判断数组的长度即可判断数组是否为空:
if(rr.length == 0)
console.log("数组为空");
参考技术B var arr = [];
if(arr && arr.length > 0)
alert("arr is null");
追问

能不能详细点 照着我那个表单来

参考技术C var fileobj = $("input[name='fname[]']");
if (fileobj.length == 0)
alert("请选择上传文件");

else
//执行上传代码

追问

不对
var fileobj = $("input[name='fname[]']").val();
if (fileobj.length == 0)
alert("请选择上传文件");

else
//执行上传代码

这样可以阻止表单提交,但是文件表单点击不了了,加载不了文件

追答

额。。看错了,以为是checkbox呢。。

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script src="jquery-2.0.3.min.js"></script>
<script>
function check() 
var flag = false;
$("input[name='fname[]']").each(function() 
if ($(this).val() != "") 
flag = true;
return false;

);
return flag;


function upload() 
if(check()) 
//执行上传代码
alert("已经选择文件了");
 else 
alert("请选择想要上传的文件");



</script>

<form action="">
<input type="file" name="fname[]" />上传1<br/>
<input type="file" name="fname[]" />上传2<br/>
<input type="file" name="fname[]" />上传3<br/>
<input type="file" name="fname[]" />上传4<br/>
<input type="button"  value="确定" onclick="upload();" />
</form>
这回应该对了

本回答被提问者采纳
参考技术D 使用jquery获取name属性的标签数组,然后使用each方法遍历数组,判断标签数组中的值是否存在,若存在且不为空,则返回true,否则返回false;
示例代码:
function check()
var flag = false;
$("input[name='fname[]']").each(function()
if ($(this).val() != "")
flag = true;//判断标签数组中的值是否存在,若存在且不为空,则返回true
return false; //此返回false是结束each遍历

);
return flag;//返回最后的结果

以上是关于jquery中判断数组是不是为空的主要内容,如果未能解决你的问题,请参考以下文章

jquery中判断数组是不是为空

java判断字符串是不是为空

判断字符串为空为 null 为 whitespace 工具类

判断json对象是不是为空()

php判断mysql数据库是不是为空

js 判断数组是不是为空数组