I have a few input elements in a div and I am trying to use jQuery to 1) check the content of the first input, and if it is not blank, then show the next input, and so on. However, the problem I have is no matter what I type into the input box, .val() returns an empty string in the browser console.
HTML:
<div class="col-sm-6">
<span class="team-member-form" id="team-member-1-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-2-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-3-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-4-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-5-form">
<input class="form-control" type="text"></input>
<br/>
</div>
Javascript:
$('.team-member-form').on('keyup', function() {
var teamMemberForm = $(this).attr('id');
var teamMemberNumber = teamMemberForm.split('-')[2];
var teamMemberFormValue = $(this).val();
console.log(teamMemberFormValue);
So no matter what I type into the input, the console.log is just an empty string. Any ideas why?
We need to attach the keyup
event to the input element.
Currently it is attached to the span
.
I have included a code snippet that is binding the keyup
to the .form-control
instead.
$('.team-member-form .form-control').on('keyup', function() {
var teamMemberFormValue = $(this).val();
console.log(teamMemberFormValue);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm-6">
<span class="team-member-form" id="team-member-1-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-2-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-3-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-4-form">
<input class="form-control" type="text"></input>
<br/>
<span class="team-member-form" id="team-member-5-form">
<input class="form-control" type="text"></input>
<br/>
</div>