0

次のコードがあります。チェックボックスをクリックすると、情報を含む div が作成されます。ただし、その div にアンカー タグを追加して、div 自体を削除しました。

ただし、divは動的に生成されるため、リンククリックでdivを削除する方法がわかりません。

//Add selected job in the results div
function AddSelectedJob(id, display) {
    //create a div for every selected job
    $("[id$=ResultsDiv]").append('<div class="selectedjobs" id=' + id + '>' + display + '<a href="#">Remove selected job</a></div>');
}
4

7 に答える 7

4
$(document).on('click','.selectedjobs a',function(){
       $(this).parent().remove();
});
于 2013-06-03T07:13:27.650 に答える
4

あなたdivのクラスを与え、onデリゲートイベントを使用してください

これを試して

$("[id$=ResultsDiv]").append('<div class="selectedjobs" id=' + id + '>' + display + '<a href="#" class="removeJob">Remove selected job</a></div>');

$('[id$=ResultsDiv]').on('click','.removeJob',function(){
    $(this).parent().remove();
})

また

クラスを使わずに

$('[id$=ResultsDiv]').on('click','.selectedjobs a',function(){
    $(this).parent().remove();
})

注:それを最も近い静的親コンテナに委任することは、documentそれ自体よりも優れています

onイベントの詳細を読むためのリンク

于 2013-06-03T07:13:54.987 に答える
2

このコードを使用してください:-

//選択したジョブを結果 div に追加します

function AddSelectedJob(id, display) {
    //create a div for every selected job
    $("[id$=ResultsDiv]").append('<div class="selectedjobs" id=' + id + '>' + display + '<a href="javascript:;" onclick="removeSelectedJob(this)">Remove selected job</a></div>');
}

function removeSelectedJob(el){
    $(el).parent().remove();
}
于 2013-06-03T07:14:35.823 に答える
0

この場合、私は .parents() を使用することを好みます。

可能であれば、クラスをアンカーに追加してから、false を返すか、.preventDefault() を使用してアンカーのデフォルト アクションを防止します。

//Add selected job in the results div
function AddSelectedJob(id, display) {
    //create a div for every selected job
    $("[id$=ResultsDiv]").append('<div class="selectedjobs" id=' + id + '>' + display + '<a class="removeSelectedJobs" href="#">Remove selected job</a></div>');
}

$('.selectedjobs .removeSelectedJobs').live('click', function() {
    $(this).parents('.selectedjobs').remove();
    return false;
});
于 2013-06-03T07:31:35.523 に答える
0

ライブクリックを試す...

$(".selectedjobs a").live("click", function(){
    $(this).parent().remove();
});
于 2013-06-03T07:17:51.757 に答える
0

何かのようなもの:

$("#ResultsDiv>div.selectedjobs a").click(function(){
    $(this).parent().remove();
});
于 2013-06-03T07:13:46.417 に答える
0

この場合、通常は div は作成されませんが、代わりに隠されているため、多くの手間がかかります。「display:none;」を持つ div を作成できます。CSSで、チェックボックスがチェックされているときに使用できます

$("[id$=ResultsDiv]").show();

チェックを外すと、

$("[id$=ResultsDiv]").hide();
于 2013-06-03T07:21:45.687 に答える