There are some inputs. I have generated an object from the value of those inputs. So, my generated object is something like this:
var generate_fields = {
name: "Mike",
email: "mike@gmail.com",
gender: "1",
hobby: ["travel", "movie"]
}
And there is a reference object:
var ref_obj = {
personal_information: {
name: null,
password: null,
gender: null
},
business_information: {
email: null,
id: null,
},
special_information: {
hobby: null,
achievement: null
}
}
I need to create a new object using an object, generate_fields like reference object, ref_obj. So, the new object will be:
var custom_obj = {
personal_information: {
name: "Mike",
gender: "1",
},
business_information: {
email: "mike@gmail.com",
},
special_information: {
hobby: ["travel", "movie"]
}
}
How to make custom_obj using generate_fields and ref_obj?
Demo:
var ref_obj = {
personal_information: {
name: null,
password: null,
gender: null
},
business_information: {
email: null,
id: null,
},
special_information: {
hobby: null,
achievement: null
}
}
//console.log(ref_obj);
$('form').submit(function(event) {
event.preventDefault();
var generated_fields = {};
$(this).find('input, select').not('input[name=submit]').each(function() {
generated_fields[this.name] = $(this).val();
});
console.log(generated_fields);
});
.form-group {
margin-bottom: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<form>
<div class="form-group">
<laberl>Name: </laberl>
<input type="text" name="name" id="name" placeholder="Name" />
</div>
<div class="form-group">
<label>Email:</label>
<input type="text" name="email" id="email" placeholder="Email" />
</div>
<div class="form-group">
<label>Gender:</label>
<select name="gender" id="gender">
<option value="1">Male</option>
<option value="2">Female</option>
<option value="2">Other</option>
</select>
</div>
<div class="form-group">
<label>Hobbies:</label>
<select name="hobby" id="hobby" multiple>
<option value="books">Reading books</option>
<option value="travel">Travelling</option>
<option value="movie">Movie</option>
</select>
</div>
<input type="submit" name="submit" value="submit" />
</form>