<tr>
<td>
<input type="text" name="desc[]">
</td>
<td>
<input type="text" name="duration[]">
</td>
<td>
<input type="text" name="start[]" class="start">
</td>
<td>
<input type="text" name="wait[]">
</td>
<td>
<input type="text" name="end[]">
</td>
<td>
<input type="text" name="phone[]">
</td>
</tr>
I have such multiple rows. I need to fetch the values off all tds on keyup event on the td with input name start(and i also need to avoid values of desc[] and phone[]). Since they are many i cannot go with ids, need help in parent child approach with jquery.
I was able to reach parent tr on keyup event on the above mentioned td but not able to access values of input field in other tds. the jquery code i used
$(document).ready(function(){
$(".start").keyup(function(){
alert($(this).parent().get(-3).tagName);
})
});
We can get the value of the text input field using various methods in JavaScript. There is a text value property that can set and return the value of the value attribute of a text field. Also, we can use the jquery val() method inside the script to get or set the value of the text input field.
Answer: Use the value Property You can simply use the value property of the DOM input element to get the value of text input field.
Ah I think a understand now. Have a look if this really is what you want:
$(".start").keyup(function(){
$(this).closest('tr').find("input").each(function() {
alert(this.value)
});
});
This will give you all input values of a row.
Update:
To get the value of not all elements you can use :not()
:
$(this).closest('tr').find("input:not([name^=desc][name^=phone])").each(function() {
alert(this.value)
});
Actually I am not 100% sure whether it works this way, maybe you have to use two not
s instead of this one combining both conditions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With