2012-10-06 94 views
0

我在可能基本的jQuery上失敗了,因爲每次單擊一個對象時都會返回一個新的複合字符串(圖像src-paths)。jquery - 「each()」中的複合變量 - 函數

$(":checkbox").click(function(){ 
    $(":checked").each(function(){ 
     var auswahl += $(this).attr('data-imagesrc'); 
    }); 

    alert(auswahl); 
}); 

我以後試圖的圖片src路徑此字符串發送到PHP-文件來壓縮這些圖像(來自的路徑的陣列PHP-文件zippes)。 不幸的是,我還不熟悉數組,如果這將是一個更好的解決方案。

回答

1

您的變量auswahl包含在each範圍內,這意味着您無法從該函數之外訪問它。在外面宣佈。

$(":checkbox").click(function(){ 
    var auswahl = ''; 
    $(".check:checked").each(function(){ 
     auswahl += $(this).attr('data-imagesrc'); 
    }); 
    alert(auswahl); 
}); 

要發送信息到服務器嘗試$.ajax

+0

我怎麼能錯過這...謝謝:) –

0

您在每次點擊後連續重複連接值,您應在調用each方法之前將變量設置爲''。您可以在您的點擊處理程序之外定義您的變量,並使用返回值數組的map方法,請注意,:checkbox選擇器已被棄用。

var auswahl; 
$("input[type=checkbox]").click(function(){ 
    auswahl = $(".check:checked").map(function(){ 
     return this.dataset.imagesrc 
    }).get(); 
    alert(auswahl); 
}); 

如果你想數組轉換爲字符串,您可以使用join方法。

auswahl.join() 
+0

就像我的'.map',等風扇,我認爲這是矯枉過正在這種情況下。 – Alnitak

+0

感謝您向我展示地圖功能。工作也! :) –