2016-03-23 25 views
0

Verileri aldıkları aşağıdaki yöntemi (bu ayrı JavaScript dosyasında) düzenleme bölümünde yüklemek için jQuery.filerhttps://github.com/CreativeDream/jQuery.filer kullanıyorum. Ben resim adları saklamak için MySQL kullanıyorum:jQuery.filer JavaScript Dizisi, döngüden veri alınıyor

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

ben boş değil mevcut isimleri almak için bu bir ilmek eklemeniz gerekir.

Ben document.getElementById kullanıyorum:

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; 

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

Lütfen fonksiyonu beni yalnızca bu diziye nasıl ekleneceğini bilmesine izin var mı?

+0

ulaşmak istediğiniz tüm görüntüler üzerinde döngülü bir döngü? Yani sadece 3 görüntü olabilir, ayrıca 100 - bir dinamik sayı olabilir mi? – messerbill

+0

Bazı html yayınlamak isteyebilirsiniz, böylece işaretlemenizle çalışan bir çözüm üretebiliriz. Bir şeyin üzerine geçmek istiyorsanız, ids yerine girdileri belirlemek için sınıf veya yapıları kullanmak istersiniz. –

+0

tam olarak ben bu tür dinamik olarak almak istiyorum messerbill – user1750832

cevap

1

onların tam miktarını bilmeden sayfanıza tüm unsurları üzerinde döngü ama onların id ler bu (jQuery) yapabilirim image sözcüğüyle başlayan bilerek isterseniz:

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

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

parlak çözüm :) Ayrıca css sınıflarını kullanabilir ve bunlara $ $ ('. ClassName') üzerinden erişebilirsiniz. Her (function() ...) ' – messerbill

+0

nasıl dosya eklerim [] bu kodun bu – user1750832

+0

'a bölümü Bu kod, DOM düğümlerini belirli kimliklerle (getElementById() '' 'ile elde etmeye çalıştığınız şeye benzer şekilde yineler. Bir JS dizisi üzerinden nasıl döngü yapılacağı hakkında bilgi için: http://stackoverflow.com/questions/3010840/loop-through-array-in-javascript – dekkard