jQuery - 来自“each()” - 函数的复合变量

时间:2012-10-06 20:12:35

标签: jquery string checkbox each

我很可能在基本的jQuery中失败,因为每次点击一个对象都会返回一个新的复合字符串(图像src-paths)。

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

    alert(auswahl);
});

我后来尝试将这个图像src-paths字符串发送到PHP文件以压缩这些图像(来自路径数组的PHP文件zippes)。 不幸的是,如果这是一个更好的解决方案,我还不熟悉数组。

2 个答案:

答案 0 :(得分:1)

您的变量auswahl包含在each范围内,这意味着您无法从该函数外部访问它。在外面宣布。

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

要将信息发送到服务器,请尝试$.ajax

答案 1 :(得分:0)

您在每次点击后反复连接值,您应该在调用''方法之前将变量设置为each。您可以在单击处理程序之外定义变量,并使用返回值数组的map方法,请注意{@ 1}}选择器已弃用。

:checkbox

如果要将数组转换为字符串,可以使用var auswahl; $("input[type=checkbox]").click(function(){ auswahl = $(".check:checked").map(function(){ return this.dataset.imagesrc }).get(); alert(auswahl); }); 方法。

join