Fare clic td, selezionare il pulsante radio nella jQuery
Domanda
Si è un piccolo problema con un po 'di jQuery molto semplice, mi piacerebbe essere in grado di fare clic su una cella della tabella, e poi di selezionare automaticamente il pulsante di opzione all'interno.
HTML:
<table>
<tr>
<td>
1<br>
<input type="radio" name="choice" value="1">
</td>
<td>
2<br>
<input type="radio" name="choice" value="2">
</td>
<td>
3<br>
<input type="radio" name="choice" value="3">
</td>
</tr>
</table>
jQuery:
$("td").click(function () {
$(this).closest('input:radio').attr('checked',true);
});
Qualsiasi aiuto sarebbe molto apprezzato, grazie!
Soluzione
Usa questo selettore:
$('input:radio', this).attr('checked', true);
O usando il metodo find
:
$(this).find('input:radio').attr('checked', true);
Ecco come il codice dovrebbe essere simile:
$("td").click(function () {
$(this).find('input:radio').attr('checked', true);
});
Altri suggerimenti
Prova
$(this).find('input:radio').attr('checked','checked');
Prova trovare al posto del più vicino.
$(this).find('input:radio').attr('checked',true);
Questo funziona perfettamente
$(function () {
$('td').click(function () {
var cell = $(this),
state = cell.data('state') || 'first';
switch (state) {
case 'first':
cell.data('state', 'second');
cell.find('input:radio').attr('checked', true);
cell.find('input:radio').data('checked', true);
cell.find('input:radio').prop('checked', true);
break;
case 'second':
cell.data('state', 'first');
cell.find('input:radio').attr('checked', false);
cell.find('input:radio').data('checked', false);
cell.find('input:radio').prop('checked', false);
break;
default:
break;
}
});
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow