Vous n'avez pas besoin du tout each
, poignées jQuery appliquer le changement à tous les éléments correspondants pour vous:
$(row).children('td > select').val('0');
Notez que qui définit la valeur de la zone de sélection, par exemple, fait l'option avec le value
correspondant sélectionné. Ce n'est pas la même chose que de définir l'index de l'option sélectionnée (une autre des réponses ici vous montre comment faire cela). En utilisant un exemple avec des valeurs non numériques rend la distinction un peu plus clair:
HTML:
<div id='characters'>
<select name='favorite'>
<option value='fred'>Fred Flintstone</option>
<option value='barney'>Barney Rubble</option>
<option value='wilma'>Wilma Flintstone</option>
<option value='betty' selected>Betty Rubble</option>
</select>
<select name='secondchoice'>
<option value='fred'>Fred Flintstone</option>
<option value='barney selected'>Barney Rubble</option>
<option value='wilma'>Wilma Flintstone</option>
<option value='betty'>Betty Rubble</option>
</select>
appel jQuery pour changer à la fois de ceux 'Wilma':
$('#characters select').val('wilma');
... ou (peut-être plus sensiblement pour ce particulier exemple) pour ne pas avoir des options sélectionnées à tous:
$('#characters select').val('');
la partie .each() est superflue. Est-ce que ça marche si vous laissez tomber ça? –