3

我自己正在做我的网络技术实验。我有两个在 div 中引用的下拉列表。

<div id="A">
<select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>
<select>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
</select>
</div>

这里是我的 javascript 代码:

$(document).ready(function(){
        $('#A option:eq(1)').attr("selected", "selected");
});

我期望的是带有选项“2”和“7”的下拉列表,但只有“2”但“7”。哦,我可以通过单行脚本代码实现它(而不是为两个下拉菜单设置两个带有两个标签的 div)非常感谢您的回复和帮助。

4

6 回答 6

2
$('#A').find('select option:nth-child(2)').attr("selected", "selected");
于 2013-08-28T08:38:05.960 回答
1

演示

$(document).ready(function () {
    $('#A select').each(function () {
        $(this).find('option:eq(1)').prop("selected", "selected");
    });
});
于 2013-08-28T08:38:21.073 回答
0
use this.

<div id="A">
<select id="s1">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>
<select id="s2">
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
</select>
</div>


----------


$(document).ready(function(){
        $('#s1 option:eq(1)').attr("selected", "selected");
        $('#s2 option:eq(1)').attr("selected", "selected");
});
于 2013-08-28T08:44:08.993 回答
0
$('#A > select option[value=2]).eq(0).attr('selected','selected');
$('#A > select option[value=7]).eq(1).attr('selected','selected');
于 2013-08-28T08:42:14.863 回答
0

你应该使用:

$('select').find('option:eq(1)').attr("selected", "selected");
于 2013-08-28T08:37:49.747 回答
0

在第一个选择器中,它只选择第一个匹配的元素。

使用查找()

获取当前匹配元素集中每个元素的后代,由选择器、jQuery 对象或元素过滤。

尝试

$('#A>select').find('option:eq(1)').attr("selected", "selected");

工作演示

于 2013-08-28T08:39:26.743 回答