我目前有以下内容:
$(window).load(function(){
$(".boxdiv").click(function () {
$(this).toggleClass("selected");
});
});
这完全是我需要的第一部分。我有相当数量的div与“boxdiv”类,他们每个都有一个唯一的ID来识别它。我需要做的是让某种按钮在按下时将所有这些div ID与所选的类一起发送到下一页。
任何人都知道我该怎么做?
答案 0 :(得分:1)
也许这就是你要找的东西:
$(".button").click(function(){
var id_arr = [];
$(".boxdiv").each(function(){ // Loop through each element with that class
id_arr.push($(this).attr('id'));
}); // Loop through each element with that class
});
window.location = 'next.html/ID=' + id_arr.join(',');
ID应存储在id_arr
答案 1 :(得分:1)
您可以遍历具有班级div
的每个selected
。然后,您可以使用attr()
来访问ID名称。
<强>的Javascript 强>
var ids = [];
$.each($(".selected"), function() {
ids.push($(this).attr('id'));
});
ids = ids.join(',');
<强> HTML 强>
<div id="boxA"></div>
<div id="boxB" class="selected"></div>
<div id="boxC" class="selected"></div>
<div id="boxD"></div>
这应该返回["boxB", "boxC"]
答案 2 :(得分:1)
将ID映射到数组中,并使用$.param创建查询字符串
$('button').on('click', function() {
var id_arr = $.map($(".selected"), function(el) {return el.id;});
window.location.href = '/next_page?' + $.param({ids : id_arr});
});
修改强>
$('button').on('click', function() {
var id_arr = $.map($(".selected"), function(el) {return el.id;}),
qs = encodeURIComponent(id_arr.join(','));
window.location.href = '/next_page?ids=' + qs;
});
答案 3 :(得分:0)
提交的所有答案实际上都是正确的 - 但我认为真正的问题是您对jQuery正在为您做的事情的期望。
jQuery将以任何方式收集所有ID,但您需要有办法在下一页上收集它们并实际使用它们。这一切都需要在服务器端发生。
最有可能的是,理想的方法,基于你的“可能有很多”的评论你想要做一个映射(见其他答案),并将json对象传递给你的服务器,在那里它可以将它传递给下一页。
使用相同的代码 -
$('button').on('click', function() {
var id_arr = $.map($(".selected"), function(el) {return el.id;}),
qs = encodeURIComponent(id_arr.join(','));
alert('/next_page?ids=' + qs);
});
这是你的小提琴 - http://jsfiddle.net/kellyjandrews/4dYfh/