我有一个带有已知值的下拉列表。 我正在尝试将下拉列表设置为使用jQuery知道的特定值。 使用常规JavaScript,我会做类似的事情:
ddl = document.getElementById("ID of element goes here");
ddl.value = 2; // 2 being the value I want to set it too.
但是,我需要使用jQuery,因为我在选择器中使用了CSS类(愚蠢的ASP.NET客户端ID ...)。
这是我尝试过的一些方法:
$("._statusDDL").val(2); // Doesn't find 2 as a value.
$("._statusDDL").children("option").val(2) // Also failed.
如何使用jQuery?
更新资料
事实证明,我第一次做对了:
$("._statusDDL").val(2);
当我在上面放一个警报时,它可以正常工作,但是当我删除警报并使它以全速运行时,我得到了错误
无法设置所选属性。 无效索引
我不确定这是不是jQuery或Internet Explorer 6的错误(我猜是Internet Explorer 6),但这非常令人讨厌。
#1楼
在查看了一些解决方案之后,这对我有用。
我有一个带有一些值的下拉列表,我想从另一个下拉列表中选择相同的值...因此,首先我将第一个下拉列表的selectIndex
放入变量中。
var indiceDatos = $('#myidddl')[0].selectedIndex;
然后,在第二个下拉列表中选择该索引。
$('#myidddl2')[0].selectedIndex = indiceDatos;
注意:
我猜这是最短,可靠,通用且优雅的解决方案。
因为就我而言,我使用的是选定选项的data属性而不是value属性。 因此,如果您对每个选项都没有唯一的价值,那么上述方法是最简短,最贴心的方法!
#2楼
对于隐藏字段,您需要这样使用:
$("._statusDDL").val(2);
$("._statusDDL").change();
要么
$("._statusDDL").val(2).change();
#3楼
这些解决方案似乎假定下拉列表中的每个项目都有一个与它们在下拉列表中的位置相关的val()值。
如果不是这种情况,事情会更加复杂。
要读取下拉列表的选定索引,请使用以下命令:
$("#dropDownList"