I have a table row inside of a table. Inside this table row I have 4 buttons. I want to use jquery to fire an onClick
for any button in the row except for the 1st one. Is there an easy way to select the <tr>
itself instead of recreating an onClick
for every button?
<table >
<tr id="buttonRow">
<td><input type="radio" name="SelectedStoreRoles" value="1"/>
<td><input type="radio" name="SelectedStoreRoles" value="2"/>
<td><input type="radio" name="SelectedStoreRoles" value="3"/>
<td><input type="radio" name="SelectedStoreRoles" value="4"/>
</tr>
</table>
Here is my general though process but need some help to flesh it out all the way
$('#buttonRow').children("Some Filter that says value > 1").On('Click, function({}));
CodePudding user response:
You can use the :gt
selector to avoid the first element:
$('#buttonRow').find(":radio:gt(0)").on('click', e => {
console.log(e.target.value);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<table >
<tr id="buttonRow">
<td><input type="radio" name="SelectedStoreRoles" value="1" /></td>
<td><input type="radio" name="SelectedStoreRoles" value="2" /></td>
<td><input type="radio" name="SelectedStoreRoles" value="3" /></td>
<td><input type="radio" name="SelectedStoreRoles" value="4" /></td>
</tr>
</table>
CodePudding user response:
You can use a combination of :not
and :first-child
pseudo-classes
$('#buttonRow')
.children('td:not(:first-child)')
.children('input')
.on('click', function() {
console.log(this)
})