0

我在表格中有一系列选择框,如下所示:

<tr>
<td><select></select></td>
<td><select></select></td>
<td><select></select></td>
<td><select></select></td>
</tr>

大约有10行。

我正在尝试将行中的所有选择框重置为默认值,但是语法有问题,有人可以帮忙吗?这是我目前所拥有的,但它似乎没有工作:

$(row).children('td > select').each().val('0');

任何建议表示赞赏。

谢谢。

4

2 回答 2

1

如果您试图简单地选择一个默认值,这应该可以工作(未经测试):

$('select', row).each(function() {
    this.selectedIndex = 0; //or whatever the index you want
});

使用 $('select', row) 比您拥有的选择器快一点,因此直接访问 objects 属性,而不是使用 jQuery 对象。

于 2010-05-19T11:19:44.943 回答
0

您根本不需要each,jQuery 会为您处理将更改应用于所有匹配的元素:

$(row).children('td > select').val('0');

请注意,设置选择框的,例如,使具有匹配的选项被value选中。它与设置所选选项的索引不同(此处的另一个答案向您展示了如何做到这一点)。使用具有非数字值的示例可以使区别更加清晰:

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('');
于 2010-05-19T11:22:14.580 回答