jQuery.filer JavaScript Array从循环中获取数据

时间:2016-03-23 13:13:15

标签: javascript php jquery mysql

我正在使用jQuery.filer https://github.com/CreativeDream/jQuery.filer在编辑部分(这是在单独的JavaScript文件中)上传图像,这是他们获取数据的方法。我正在使用MySQL来存储图像名称:

files: [
    {
        name: image1,
        size: 5453,
        type: "image/jpg",
        file: "uploads/" + image1
    }, {
        name: image2,
        size: 5453,
        type: "image/jpg",
        file: "uploads/" + image2
    }
]

我需要在此处添加一个循环以获取非空的可用名称。

我正在使用document.getElementById

var image1 = document.getElementById('image1').value;
var image2 = document.getElementById('image2').value;
var image3 = document.getElementById('image3').value;
var image4 = document.getElementById('image4').value;
var image5 = document.getElementById('image5').value;
var image6 = document.getElementById('image6').value;
var image7 = document.getElementById('image7').value;
var image8 = document.getElementById('image8').value;
var image9 = document.getElementById('image9').value;
var image10 = document.getElementById('image10').value;  

这是filer.js中的函数

_filesCheck: function() {
                        var s = 0;
                        if(n.limit && f.files.length + f._itFl.length > n.limit) {
                            alert(f._assets.textParse(n.captions.errors.filesLimit));
                            return false
                        }
                        for(var t = 0; t < f.files.length; t++) {
                            var x = f.files[t].name.split(".")
                                .pop()
                                .toLowerCase(),
                                file = f.files[t],
                                m = {
                                    name: file.name,
                                    size: file.size,
                                    size2: f._assets.bytesToSize(file.size),
                                    type: file.type,
                                    ext: x
                                };
                            if(n.extensions != null && $.inArray(x, n.extensions) == -1) {
                                alert(f._assets.textParse(n.captions.errors.filesType, m));
                                return false;
                                break
                            }
                            if(n.maxSize != null && f.files[t].size > n.maxSize * 1048576) {
                                alert(f._assets.textParse(n.captions.errors.filesSize, m));
                                return false;
                                break
                            }
                            if(file.size == 4096 && file.type.length == 0) {
                                return false;
                                break
                            }
                            s += f.files[t].size
                        }
                        if(n.maxSize != null && s >= Math.round(n.maxSize * 1048576)) {
                            alert(f._assets.textParse(n.captions.errors.filesSizeAll));
                            return false
                        }
                        if((n.addMore || n.uploadFile)) {
                            var m = f._itFl.filter(function(a, b) {
                                if(a.file.name == file.name && a.file.size == file.size && a.file.type == file.type && (file.lastModified ? a.file.lastModified == file.lastModified : true)) {
                                    return true;
                                }
                            });
                            if(m.length > 0) {
                                return false
                            }
                        }
                        return true;
                    },

请告诉我如何添加到仅适用的此阵列?

1 个答案:

答案 0 :(得分:1)

如果您希望遍历页面中的所有元素而不知道其确切数量,但知道他们的id以单词image开头,您可以执行此操作(jQuery):

$('[id^=image]').each(function() {
    var $el=$(this);

    // do whatever you need with the element stored in $el
});