4

我在两列中显示记录。我需要根据 div 的选择执行常见操作(例如删除)。如果用户一次选择 div idsparticipant_1 、participant_4、participant_6,那么我需要获取这三个 id。有什么方法可以在 JQuery 中实现这一点。如果用户一起选择了三个 id,那么我想删除它in one time not one by one。任何帮助将不胜感激。

    <div class="left_column">
        <div class="record_row" id="participant_1"> 
        ----
        ----
        </div>
        <div class="record_row" id="participant_3"> 
        ----
        ----
        </div>
        <div class="record_row" id="participant_5"> 
        ----
        ----
        </div>
    </div>
    <div class="right_column">
        <div class="record_row" id="participant_2"> 
        ----
        ----
        </div>
        <div class="record_row" id="participant_4"> 
        ----
        ----
        </div>
        <div class="record_row" id="participant_6"> 
        ----
        ----
        </div>
    </div>
4

4 回答 4

2

您可以将 click 事件与类选择器绑定,并使用 this.id 来获取它的当前元素。this是源对象。

现场演示

 $('.record_row').click(function () {
      $(this).toggleClass('selected');  
 });

$('#btn').click(function () {
    $('.selected').each(function(){
        alert(this.id);
    });
});
于 2013-01-29T05:25:51.360 回答
1

这是您的问题的解决方案:-

 $('.record_row').click(function () {
      $(this).toggleClass('selected');  
 });

我添加了获取所有 ID 的按钮

 var ids = new Array();
    $('#btn').click(function () {

    var selected_activities =$('.selected');
    var ids = new Array();
    selected_activities.each(function(){
          var id_str   =  $(this).attr("id");
          var id_arr      =  id_str.split("_");
          var selval       =  id_arr[1];
        if(selval!='undefined' && selval!='' && selval!=null){
            ids.push(selval);
        }
    });
    alert(ids);
});

在此处查看演示现场演示代码

于 2013-01-29T09:49:42.847 回答
0

如果用户一起选择了三个ID,那么我想一次删除它而不是一个一个

是的,添加一个类selected

var css_class = '.record_row';
$(css_class).click(function(){
    $(this).addClass('selected');

    if ($('.selected').length == 3) 
      // delete 

    // to get all three ids
    var listID = $.map($('.selected'), function(elem){ return $(elem).attr('id') });
});
于 2013-01-29T06:03:32.893 回答
-1

要么将onclick事件绑定到每个 div

<div class="record_row" id="participant_1" onclick="doyoursutff(this.id);">

或者您可以将事件绑定为

$('.left_column').find('div').click(function(){
do your stuff...
})

$('.right_column').find('div').click(function(){
    do your stuff...
    })

或者干脆这样做

$('.record_row').click(function(){
           do your stuff here ...
})
于 2013-01-29T05:29:37.123 回答