Doğru Cevap
-
$('#inp').last().before('<div class="input"><input name="resim[]" id="resim[]" type="file" value="" /></div>');
-
fka
<head> <title></title> <meta content=""> <style></style> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <div id="inputs"> <div class="input"><input name="resim[]" id="resim[]" type="file" value="" /></div> </div> <div class="radios clearfix"> <a id="ekle" href="#" >Ekle</a> <a id="sil" href="#" >Sil</a> </div> </body> <script> $('#ekle').click( function() { alanekle(); }); $('#sil').click( function() { alansil(); }); function alanekle() { $('#inputs').append('<div class="input"><input name="resim[]" id="resim[]" type="file" value="" /></div>'); } function alansil() { $("#inputs .input:last").remove(); } </script>
13 yıl önce yazılmış
-
Cevaplar
-
after yerine append kullanırsan sorun yok. Seçiciyide kullanırken #inp:last olarak kullanmanda fayda var.
Remove fonksiyonunda ise div id'lerin aynı olduğu için appen'dan sonra hepsini siliyor. Onuda div#inp:last-child olarak son elemanı silebilirsin.
Kodunu ben kendimde denerken şöyle değiştirdim.
<script>
$(document).ready(function() {
$("#ekle").click( function(){
alanekle();
});
$('#sil').click( function(){
alansil();
});
});
function alanekle(){
$('#inp:last').append('<div id="inp" class="input"><input name="resim[]" id="resim[]" type="file" value="" /></div>');
}
function alansil(){
$("#inp:last-child").remove();
} </script>
<div id="inp" class="input"> <input name="resim[]" id="resim[]" type="file" value="" /> </div> <div class="radios clearfix"> <a id="ekle" href="#" >Ekle</a> <a id="sil" href="#" >Sil</a> </div>