I'm trying to get the index of a non sibling input[type='text'] element within a particular class. Here is the code :
<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="text" /> -> expected value 2
</form>
<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="text" /> -> expected value 2
<input class="myClass" type="hidden" />
<input class="myClass" type="text" /> -> expected value 3
</form>
<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="hidden" />
<input class="myClass" type="text" /> -> expected value 2
<input class="myClass" type="text" /> -> expected value 3
</form>
<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
</form>
<form class="myForms">
<input class="myClass" type="text" /> -> expected value 0
<input class="myClass" type="text" /> -> expected value 1
<input class="myClass" type="hidden" />
<input class="myClass" type="hidden" />
<input class="myClass" type="text" /> -> expected value 2
</form>
I tried this Jquery code :
$(document).on("keyup","input[type='text']",function(e){
var elem = $(this);
var theClosest = elem.closest('.myForms');
// And then :
console.log(elem.index(theClosest));
});
// But, I'm wrong : it always returns -1
How could I fix this?
Thank you a lot for your help !