I’m busy making a clone-able form.
I’m currently stuck, I have 13 input fields for one value being id, and i can clone it and it updates the class of group to “group1”, “group2” etc i need to get the value of the first group of input fields then the second etc.
Here’s the js fiddle: http://jsfiddle.net/dawidvdh/BLdDE/
and here’s the jQuery:
//Clone Tracking
var g_counter = 1;
var d_counter = 1;
var dependants = "dependant"+d_counter++;
var group;
var current_group = jQuery(document.activeElement);
//Clone Tracking
//General Variables
//General Variables
//Generate variables
var id_fields = [0,1,2,3,4,5,6,7,8,9,10,12,13];
var passport_fields = [0,1,2,3,4,5,6,7,8,9,10,12,13];
var cell_fields = [0,1,2,3,4,5,6,7,8,9,10];
var id_input = "<input class='id' id="+'"'+"group"+g_counter+++'"'+" "+" maxlength='1' />";
//Generate variables
jQuery(document).ready(function(e) {
//populate jquery generated fields
jQuery(id_fields).each(function() {
jQuery(id_input).appendTo('#id_field');
});
//populate jquery generated fields
//Cloning Function
jQuery('#clone').click(function(){
clone_dependant();
});
function clone_dependant(){
g_counter++;
var clonedObj=jQuery('#id_field').clone().insertAfter("#id_field");
clonedObj.find('.id').each(function(){
$(this).prop('id', 'group'+g_counter).val(''); // chain the commands
});
};
//Cloning Function
//Validation
function validate_gen(){};
function validate_Id(current_group){
console.log(current_group);
};
function validate_Pass(){};
function validate_Email(){};
function validate_Cell(){};
//Validation
//Multiple Inputs function
$(document).on('keydown', 'input.id', function(e){
if(e.keyCode == 8){
$(this).val('');
$(this).prev().val('');
$(this).prev().focus();
//Validate(current);
}
});
$(document).on('keyup', 'input.id', function(){
var current_group = this.id;
if (this.value.match(/\d+/)) {
var $this = $(this);
if ($this.next('input').length) {
$this.next().focus();
} else {
validate_Id(current_group);
}
}
});
//Multiple Inputs function
});
and the html
<div id="id_field"></div>
<button id="clone">clone</button>
Any Help Greatly Apreciated, Thank you 🙂
The problem with your code is you are having the same id for all the
input's in a group. This will mess it up when extracting then values.It will be better if you avoid the
id's for the input'scompletely and give a unique id to the div that encases them as a whole..(maybe group1 , group2 ....)Something of this way should help..
Check Fiddle
UPDATE
If that’s the case I would
clonethe dependant divitself instead of doing it for all the div’s specifically.Secondly you do not need to loop over each group to set the same value..
Try this
UPDATED FIDDLE