0

每次单击对象时,我可能无法使用基本的 jQuery 返回一个新的复合字符串(图像 src-paths)。

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

    alert(auswahl);
});

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

4

2 回答 2

1

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

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

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

于 2012-10-06T20:14:46.880 回答
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()
于 2012-10-06T20:16:40.203 回答