我已经看到你可以按值更改所选的下拉项,但是我想通过选项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?谢谢!
答案 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>