1

我已经看到您可以按值更改选定的下拉项,但我想通过选项 ID 进行更改,因为这些值是动态创建的。我正在创建一个带有下拉菜单、问题部分和上一个/下一个按钮的调查表。下拉列表的值是在 php 数组中动态创建的。

我设置它的方式与此类似:

<select id="myDropdown">
    <option id="1" value="dynamicallycreated1"></option>
    <option id="2" value="dynamicallycreated2"></option>
    <option id="3" value="dynamicallycreated3"></option>
</select>

选择是通过 php 创建的,以数组的索引作为 ID。页面上有上一个/下一个按钮可以从一个部分向后/向前移动。当用户单击下一个或上一个按钮时,我希望下拉菜单更改为适当的项目。我可以通过当前的 javascript 轻松获取索引,那么如何使用此索引作为 ID 更改下拉列表?谢谢!

4

3 回答 3

2

在 JavaScript 中,只需将selected属性设置为true

var opt = document.getElementById("1");
opt.selected = true;

经过测试并与 Firefox 一起使用。

使用 jQuery,它将是:

$("#1").prop('selected', true);
于 2012-11-30T15:34:11.130 回答
1

我同意 Lee Taylor 的观点,即您不应该使用 1,2,3 作为 Id 字段。您可以改为在value下拉列表的属性中使用这些值,例如

并使用 jquery 选择 value = 1 的元素

$('#myDropdown').val(1);
于 2012-11-30T15:44:19.033 回答
0

忘记id为您的option项目创建任何特殊的或更改值。只需使用 jQuery 来获取index. (请注意,索引开始于,0所以如果需要,只需添加1到此结果中。)

$('#myDropdown').find('option:selected').index();

HTML:

<select id="myDropdown">
    <option value="dynamicallycreated1">option one</option>
    <option value="dynamicallycreated2">option two</option>
    <option value="dynamicallycreated3">option three</option>
</select>
于 2012-11-30T15:58:34.730 回答