2012-11-30 17 views
5

ile Olası Çoğalt seçeneğini alın: jQuery bu kullanmabirden dosyanın tüm değerleri jQuery

<input type="file" name="file1" multiple="multiple" /> 

:
Retrieving file names out of a multi-file upload control with javascript

bu Got

$("input[name=file1]").change(function() { 
    $("input[name=file]").val($("input[name=file1]").val()); 
}); 

Şimdi benim problemim şudur: Sadece seçilen ilk dosyayı verir, hepsini sahip olmak isterim ... Nasıl yapmalı? Teşekkürler!

+1

olun @bvl emin tıklayın İsterseniz İşte jQuery versiyonu Doğru cevabın yanındaki onay işareti veya sonunda insanlar size yardımcı olmayacaktır. Havlayan değil, sadece bilgilendirme :) – TNCodeMonkey

cevap

18

sayımı artan, bu kadar Saf bir JavaScript çözümü. jsFiddle example

$("input[name=file1]").change(function() { 
    var names = []; 
    for (var i = 0; i < $(this).get(0).files.length; ++i) { 
     names.push($(this).get(0).files[i].name); 
    } 
    $("input[name=file]").val(names); 
});​ 
0

Kullanım .length() ardından tüm dosyalar için aynı şeyi bir süre deyimi kullanın dosya sayısını almak Ben yorumlarında olası bir dupe bağlı olsa da 1 ile her zaman :)

+0

Doğru anladım emin değilim. Yani '$ (" input [name = file1] "). Bu da bana 1 çıktı veriyor. –

+0

Evet, örneğin i = 0; (i <= $ ("input [name = file1]"). Uzunluk) { // her dosyaya ne yapılacağı i ++; } –

İlgili konular