2016-05-08 18 views
0

追加したり削除したりできる動的なフィールドを作成しました。Jqueryは上のbrタグを削除します

私のスクリプトでは、削除ボタンが入力フィールドとすべてのbr行を削除しています。

私はそれだけで私は上記のコードは、私は、[削除]をクリックし、すべてのBRを削除

var max_fields  = 5; //maximum input boxes allowed 
    var wrapper   = $(".input_fields_wrap"); //Fields wrapper 
    var add_button  = $(".add_field_button"); //Add button ID 

    var x = 1; //initlal text box count 
    $(add_button).click(function(e){ //on add input button click 
     e.preventDefault(); 
     if(x < max_fields){ //max input box allowed 
      x++; //text box increment 
      $(wrapper).append('<br>'); 
      $(wrapper).append('<div><input type="text" name="meaning[]" class="form-control" /><a href="#" class="remove_field"> <span class="glyphicon glyphicon-trash" aria-hidden="true" id="trash"></span></a></div>'); //add input box 

     } 

    }); 

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text 
     e.preventDefault(); 
     $(this).parent('div').remove(); x--; 
     $("br").remove(); 
    }) 

クリックものを削除します。

親divのみを削除したい場合はどうすればよいですか?

+0

を確認してください。 – Danusorn

答えて

0

prev()機能を使用してみてください:

// Store $(this) to a variable in order not to call jQuery multiple times 
var that = $(this); 
that.parent('div').remove(); x--; 
that.prev('br').remove(); 

は、私は$(ラッパー).append( '

')中のBRをconbineできるか documentation

+0

これはうまく動作します – Danusorn

+0

可能であれば、よりよい方法は兄弟姉妹を使うことです。 Prevはいくつかの状況では危険なことがあります。たとえば、HTML構造が変更された後、セレクタをreqriteしようとしているなどです。 – Maverick

関連する問題