I'm trying to add input fields on button click everything I working as it should, but need to do 3 things:
- I need the value to output the
2like this{{ $formData['member_2'] }}
For number 1 I'm doing adding this to the value following:
value="{{ $formData['member_'.'+ i +'] }}"
But my output returns member_+ i + not member_2
- Then I need to place a limit of Only 7 input fields can be created.
- Then lastly when I delete a row I need it to delete the count.
Here is my full code. I removed the styling for easy reading.
HTML:
<button type="button" name="add" id="add">Add Other Members</button>
<div id="dynamic_field"></div>
JS:
$(document).ready(function() {
var i=1;
$('#add').click(function() {
i++;
$('#dynamic_field').append('<div id="row'+i+'"><label" for="member_'+ i +'">Member '+ i +'</label><input type="text" name="member_' + i + '" value=""><button type="button" class="btn_remove" name="remove" id="'+ i +'">X</button></div>')
});
$(document).on('click', '.btn_remove', function() {
var button_id = $(this).attr("id");
$('#row' + button_id + '').remove();
});
});
Run the snippet to see issues 2 & 3. (Note when you delete an input the count doesn't restart. It continues from where it left off.)
$(document).ready(function() {
var i=1;
$('#add').click(function() {
i++;
$('#dynamic_field').append('<div id="row'+i+'"><label" for="member_'+ i +'">Member '+ i +'</label><input type="text" name="member_' + i + '" value=""><button type="button" class="btn_remove" name="remove" id="'+ i +'">X</button></div>')
});
$(document).on('click', '.btn_remove', function() {
var button_id = $(this).attr("id");
$('#row' + button_id + '').remove();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" name="add" id="add">Add Other Members</button>
<div id="dynamic_field"></div>