0

複製されたファイルの削除に問題があります.私の複製機能は完全に機能していますが、右側に削除ボタンを追加しようとすると何も起こりません..助けてください

jQuery :

$(".addjob").click(function(){
        var $clone = $('table.tbll tr.cloneme:first').clone();
         console.log($clone);
         $clone.append("<td><div class='rmv' >Remove</div></td>");
         $('table.tbll').append($clone);    
 });

        $(".rmv").click(function(){
            alert("wee");
           // $(this).parents('td').remove();
        });

HTML :

<table cellspacing="10" class="tbll" >
<tr>
<td>Choose Sub Heading</td><td><select name="subheading_id" style="min-width:145Px">
            <option value="1" Sub heading Me</option>
            <option value="2" Sub heading Me 2</option>     
    </select></td><td>&nbsp;</td>
</tr>
<tr classs="cloneme">
<td>Choose Job Title</td><td><select name="jobtitles_id" style="min-width:145Px"><?php
            <option value="a" >A</option>   
            <option value="b" >B</option>   
            <option value="c" >C</option>       
                    <option value="none" >None</option> 
    </select></td>
</tr>
<tr>
<td><div class="addjob" >Add another Job Title</div></td>
</tr>
</table>

私を助けてください。どうすればいいのかわからない

前もって感謝します..

4

2 に答える 2

0

クリックの削除機能は、そのままでは動的に追加された要素では機能しません。jqueryを使用する必要があります.on

$('body').on('click', '.rmv',function(){
    alert("wee");
    $(this).closest('tr').remove();
});

また、classsclonemeはまだありますので、に修正してclassください。

これが実用的なフィドルです:http://jsfiddle.net/7Z5kt/

編集:私はあなたが行全体を削除したいと思っていると仮定するようにあなた.parents('td')を変更しました。.closest('tr')それに応じてこれを変更してください。

注:.closestは、階層の上位にある必要な要素を見つけるのに役立ち、によって返される要素を回避するのに役立ちます.parents()

編集2:これはjquery1.7より前に使用するために.liveを使用するバージョンです

$('.rmv').live('click', function(){
    alert("wee");
    $(this).closest('tr').remove();
});
于 2013-01-28T06:02:45.947 に答える
0

イベント委任に必要なものは次のとおりです。http://jsfiddle.net/h9pH5/

$(".addjob").click(function () {
   var $clone = $('table.tbll tr.cloneme:first').clone();
   console.log($clone);
   $clone.append("<td><div class='rmv' >Remove</div></td>");
   $('table.tbll').append($clone);
});

$('.tbll').on('click', '.rmv', function () {
   alert("wee");
   $(this).closest('tr').remove();
});

あなたのhtmlには複数ありsます

`<tr classs="cloneme">`
      //--^---here
于 2013-01-28T06:09:23.807 に答える