4

レコードを 2 列で表示しています。div の選択に基づいて、一般的な操作 (削除など) を実行する必要があります。ユーザーが div idsparticipant_1 、participant_4、participant_6を一度に選択した場合、これら 3 つの ID を取得する必要があります。JQueryでこれを達成する方法はありますか? ユーザーが 3 つの 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

クリック イベントをクラス セレクターにバインドし、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

ユーザーが3つのIDを一緒に選択した場合、1つずつではなく一度に削除したい

はい、クラスを追加し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 に答える