所以说我用php循环创建了一系列图像 - >
<img src="http://..._1.jpg" class="profile-thumb" id="12345678">
<img src="http://..._2.jpg" class="profile-thumb" id="12345677">
<img src="http://..._3.jpg" class="profile-thumb" id="12345676">
用户可以通过点击jquery样式a la - &gt;
来选择图像元素 $(".profile-thumb").click(function () {
if ($(this).hasClass("active")) {
$(this).removeClass('active');
} else {
$(this).addClass('active');
}
});
因此,当您点击图片时,它会添加一个&#39; .active&#39;类到图像元素 - &gt;
<img src="http://..._3.jpg" class="profile-thumb active" id="12345676">
如何将所有选定的元素ID传递到数组中,以便在PHP的表单处理中使用?
用户旅程:
点击照片 - &gt;将ID添加到数组 - &gt;点击提交按钮 - &gt;使用POST数组执行包含所有ID的功能(例如,使用标识为活动的ID向所有用户发送电子邮件)
我想将数组传递给一个带有AJAX调用的循环,并将输出传递给#post-info div - &gt;
$.get('post.php', function(data) {
$('#post-info').html(data);
});
然后我将如何使用foreach循环读取POST数组?
解决方案:
HTML:
<button id="share" class="off">
<span>Sharer</span>
</button>
<div id="sharer">
<!-- Array will echo here -->
</div>
使用Javascript:
$("#share").click(function () {
//Create var array
var list = $('.active-profile').map(function(){return this.id;}).toArray();
$.post('sharer.php', {ids:list}, function(data) {
$('#sharer').html(data);
});
});
PHP(sharer.php)
foreach ($_POST['ids'] as $id) {
echo 'ID: ';
echo $id;
}
javascript数组(列表)通过jquery POST和#sharer div中的echo&#d发送
答案 0 :(得分:3)
$('.profile-thumb.active').map(function(){return this.id}).toArray();
此外,您可以简单地使用:
代替if-hasClass-removeClass-else-addClass
$(".profile-thumb").click(function () {
$(this).toggleClass("active");
});
答案 1 :(得分:0)
要向php发送值数组,您需要使用稍微不同的语法。对于每个id,您可以创建一个类似于的URL。
http://test.com/?img_id[]=1&img_id[]=2&img_id[]=3
这将让您在php中获取值img_id
作为数组。
$_POST['img_id'] // array of values.
foreach ($_POST['img_id'] as $id) {
print $id;
}
// 1
// 2
// 3