按ID更改选定的下拉列表

时间:2012-11-30 15:30:56

标签: php javascript jquery

我已经看到你可以按值更改所选的下拉项,但是我想通过选项ID来实现,因为这些值是动态创建的。我正在创建一份调查问卷,其中包含下拉菜单,带问题的部分以及上一个/下一个按钮。下拉列表的值是在php数组中动态创建的。

我设置它的方式类似于:

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

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

3 个答案:

答案 0 :(得分:2)

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

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

经过测试并与Firefox配合使用。

使用jQuery,它将是:

$("#1").prop('selected', true);

答案 1 :(得分:1)

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

并使用jquery选择值为1的元素,如

$('#myDropdown').val(1);

答案 2 :(得分: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>