-1

接続されているいくつかのulリストからli要素を動的に削除しようとしています。現在、次を使用して「dblclick」イベント動作を割り当てています。$("#sortable1").children().on('dblclick',function() {...})

#sortable1のアイテムは、ユーザーによって他のリスト(#sortable2、#sortable3など)に移動されます。

リストアイテムをダブルクリックすると、ユーザーがリストアイテムを削除するかどうかを尋ねるダイアログボックスが表示されます。ユーザーが「はい」と答えた場合、リストアイテムをリストから削除したいのですが、次のようなものを使用して削除しようとしています。

$($(this).parent().childNodes[$(this).index()]).remove()

しかし、それはうまくいきません。

助言?

4

2 に答える 2

0

このようなものがうまくいくはずです。

var showPopup = function( elem ){
  //show your popup with a function like this, as i assume it already does...      
  $( '#delete_toggle' ).one( 'click', function(){
    elem.remove();
  });
};

$("#sortable1").children().on('dblclick',function(){
  showPopup( $(this) );
});
于 2012-07-27T20:09:20.110 に答える
0

To remove the element that was clicked on, you just use this in the event handler:

$(this).remove();

or if you've saved the element reference to a variable elem, it would be this:

$(elem).remove();

You are trying to make it way more complicated than need be. The jQuery .remove() method looks at who its current parent is and takes care of all that for you.

于 2012-07-27T20:24:46.287 に答える