使用 jQuery 更改下拉列表的选定值

2022-08-29 22:13:55

我有一个包含已知值的下拉列表。我试图做的是将下拉列表设置为我知道使用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

jQuery的文档指出:

[jQuery.val] 检查或选中所有单选按钮、复选框和选择与值集匹配的选项。

此行为在版本及更高版本中。jQuery1.2

你很可能想要这个:

$("._statusDDL").val('2');

添加以查看下拉列表前端中的选项:.change()

$("._statusDDL").val('2').change();

答案 2

对于隐藏字段,您需要像这样使用:

$("._statusDDL").val(2);
$("._statusDDL").change();

$("._statusDDL").val(2).change();