获取选择了Class的DIV ID?

时间:2013-12-19 19:03:26

标签: javascript jquery

我目前有以下内容:

$(window).load(function(){
    $(".boxdiv").click(function () {
        $(this).toggleClass("selected");
    });
});

这完全是我需要的第一部分。我有相当数量的div与“boxdiv”类,他们每个都有一个唯一的ID来识别它。我需要做的是让某种按钮在按下时将所有这些div ID与所选的类一起发送到下一页。

任何人都知道我该怎么做?

4 个答案:

答案 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"]

请参阅:http://jsfiddle.net/B4V28/1/

答案 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/