2016-12-14 118 views
1

我有一個問題,我的代碼,我只是添加一些remove()函數,我看到只有一個問題與此網站部分和PRM部分。JQuery - 幫助.remove()函數

這裏是「問題」的視頻拍攝:http://recordit.co/HGak32nwpy
當我追加的項目,我真的不希望刪除最後一個附加但最後我的部分。例如,如果我在第一家公司上追加2個網站,在第二家公司上追加3個網站。如果我按下第一家公司的remove()按鈕,我只想追加第一家公司的最後一個網站,而不是最後一個創建的網站。 PRM部分同樣的事情。

在此先感謝您的幫助!

Here is a JSFiddle for the code

$(document).ready(function() { 
 
    var counter = 2; 
 
    $('#btnAdd').on('click', function() { 
 
    $('#company').append('<li><hr> Company N°' + counter + ' <input id="siteAdd" type="button" value="Add Site" /><input id="siteRemove" type="button" value="X"/></li>'); 
 
    counter++; 
 
    }); 
 
    $("#btnRemove").on('click', function() { 
 
    if (counter == 2) { 
 
     alert("You need to have at least one company !"); 
 
     return false; 
 
    } 
 
    $('li:last').remove(); 
 
    counter--; 
 
    }); 
 
}); 
 

 
$(document).ready(function() { 
 
    var counter = 1; 
 
    $('#company').on('click', '#siteAdd', function() { 
 
    $(this).closest('li').append('<p>Site N°' + counter + ' <input id="prmAdd" type="button" value="Add PRM" /><input id="prmRemove" type="button" value="X" /></p>'); 
 
    counter++; 
 
    }); 
 
    $('#company').on('click', '#siteRemove', function() { 
 
    if (counter == 1) { 
 
     alert("You need to have at least one site !"); 
 
     return false; 
 
    } 
 
    $('p:last').remove(); 
 
    counter--; 
 
    }); 
 
}); 
 

 
$(document).ready(function() { 
 
    var counter = 1; 
 
    $(document).on('click', '#prmAdd', function() { 
 
    $(this).closest('li p').append('<span style="margin-left: 10px;">PRM N°' + counter + '</span>'); 
 
    counter++; 
 
    }); 
 
    $(document).on('click', '#prmRemove', function() { 
 
    if (counter == 1) { 
 
     alert("You need to have at least one PRM !"); 
 
     return false; 
 
    } 
 
    $('span:last').remove(); 
 
    counter--; 
 
    }); 
 
});
<div id="company"> 
 
    <li> Company N°1 
 
<input id="siteAdd" type="button" value="Add Site" /> 
 
<input id="siteRemove" type="button" value="X" /> 
 
    </li> 
 
</div> 
 
<br> 
 
<input id="btnAdd" type="button" value="+ Company" /> 
 
<input id="btnRemove" type="button" value="- Company" /> 
 
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

+0

__Identifiers在HTML中必須是唯一的___,在這裏使用常見的類是一個示例https://jsfiddle.net/satpalsingh/mj3nh7ap/ – Satpal

回答

2

你總是讓頁面上的最後一個P和刪除它,更改下面的代碼

$('p:last').remove(); 

$(this).closest('li').find('p:last').remove(); 
+0

請參閱https://jsfiddle.net/jnwrc5ay/303/ – Craig

+1

@KRIED Constantin接受並upvote答案是這個爲你工作 –

+0

對不起,剛剛看到其他按鈕有同樣的問題: 更新https://jsfiddle.net/jnwrc5ay/307/ – Craig