2012-10-06 61 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

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