2016-03-23 3 views
0

Ich verwende jQuery.filerhttps://github.com/CreativeDream/jQuery.filer, um Bilder im Bearbeitungsteil hochladen (das ist in separaten JavaScript-Datei) unter Methode, die sie erhalten Daten. Ich verwende MySQL Bildnamen zu speichern:jQuery.filer JavaScript Array Daten aus Schleife

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

Ich brauche eine Schleife auf diese hinzuzufügen verfügbaren Namen zu erhalten, die nicht leer sind.

Ich verwende 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; 

diese Funktion mich

_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; 
        }, 

Bitte lassen Sie wissen, in filer.js gibt es, wie man dieses Array hinzuzufügen, die nur verfügbar ist?

+0

Sie erreichen wollen eine Schleife, die über alle Bilder schleift? also könnte es nur 3 Bilder sowie 100 geben - eine dynamische Zahl? – messerbill

+0

Vielleicht möchten Sie etwas HTML veröffentlichen, damit wir eine Lösung erstellen können, die mit Ihrem Markup funktioniert. Wenn Sie eine Schleife über etwas durchführen möchten, dann sollten Sie Klassennamen oder eine Struktur verwenden, um Eingaben anstelle von IDs zu bestimmen. –

+0

genau messserbill ich möchte so dynamisch – user1750832

Antwort

1

Wenn Sie eine Schleife über alle Elemente auf Ihrer Seite nicht ihre genaue Menge zu wissen, aber zu wissen, dass ihre id s mit dem Wort beginnen image Sie diese (jQuery) tun können:

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

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

glänzende lösung bekommen :) du könntest auch css-klassen benutzen und über '$ ('. ClassName') darauf zugreifen. Je (funktion() ...)' – messerbill

+0

wie füge ich dateien hinzu [] Teil in diesem – user1750832

+0

Dieser Code iteriert DOM-Knoten mit spezifischen IDs (ähnlich dem, was Sie mit '' 'getElementById()' '') erreichen wollten. Auf, wie man durch ein JS-Feld Schleife dieses überprüfen: http://stackoverflow.com/questions/3010840/loop-through-array-in-javascript – dekkard

Verwandte Themen