Вам вообще не нужно each
, jQuery обрабатывает применение изменений ко всем подходящим элементам:
$(row).children('td > select').val('0');
Обратите внимание, что при установке значения в поле выбора, например, выбирается вариант с соответствующим value
. Это не то же самое, что установка index выбранной опции (другой ответ здесь показывает, как это сделать). Использование примера с нечисловыми значениями делает различие более ясным:
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>
jQuery вызов, чтобы изменить оба этих слова на 'wilma':
$('#characters select').val('wilma');
... или (возможно, более разумно для этого конкретного примера) без выбора параметров вообще:
$('#characters select').val('');