2016-08-05 14 views
0

我有一個按鈕,在點擊時添加動態列。我試圖獲得每列的目標ID。獲取動態文本字段的目標ID

<div class="input_fields_wrap"> 
    <button class="add_field_button">Add More Fields</button> 
    <div><input type="text" name="mytext[]"></div> 
</div> 

JS

$(document).ready(function() { 
    var max_fields  = 10; //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('<div><input type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box 
     } 
    }); 

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text 
     alert("target id" + e.target.id); // I get nothing here 
     e.preventDefault(); $(this).parent('div').remove(); x--; 
    }) 
}); 

如何獲得目標ID並且如果它增加了一些價值我想打印以及消除動態列的列前?

回答

0

你沒有給列的ID!

<div> 
    <input type="text" name="mytext[]"/> 
    <a href="#"class="remove_field"> Remove </a> 
</div> 

我用你的代碼的x,var x = 1; //initlal text box count

$(wrapper).append('<div><input type="text" name="mytext[]"/><a href="#" class="remove_field" id='+x+'>Remove</a></div>'); 

https://jsfiddle.net/7yn7apte/4/

+0

它的工作原理。當我嘗試點擊文本字段時,即使在文本框內,這個工作也會有點小疑問嗎? – sahana

1

var max_fields = 10, 
 
    wrapper = $('.input_fields_wrap'), 
 
    add_button = $('.add_field_button'), 
 
    x = 1; 
 

 
$(add_button).click(function(e) { 
 
    e.preventDefault(); 
 
    if (x < max_fields) { 
 
     x++; 
 
     $(wrapper).append('<div><input id="' + x + '" type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); 
 
    } 
 
}); 
 

 
$(wrapper).on('click', '.remove_field', function(e) { 
 
    var div = $(this).parent('div'), 
 
     input = div.find('input'); 
 
    e.preventDefault(); 
 

 
    console.log('target id:', input.attr('id')); 
 
    console.log('target value:', input.val()); 
 

 
    div.remove(); 
 
    x--; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="input_fields_wrap"> 
 
    <button class="add_field_button">Add More Fields</button> 
 
    <div><input type="text" name="mytext[]"></div> 
 
</div>