如何使用jQuery设置下拉列表的选定值

8

我该如何更改通过数据源设置其数据的下拉列表的值?

ddlContacts.DataSource = Data;
ddlContacts.DataBind();

我已经尝试过但是没有起作用:
$('#<%= rbDepartment.ClientID %>').change(function() {
    if ($("input[@name=GroupName]:checked").val() == "IS") {
        $('#ddlContactType').val('AM');
    }
});
2个回答

14

试试这个:

var selectedValue = $("#<%=ddlContacts.ClientID%> option:selected").val();

刚刚注意到您正在尝试设置该值:

$("#<%=ddlContacts.ClientID%>").val("thevalue");

记住,在处理ASP.NET客户端控件时,必须使用ClientID


1
这只会获取所选的值吗? - Bitmask
“if ($("input[@name=GroupName]:checked").val() == "IS")” 是用来比较所选的单选按钮是否具有值“IS”的。 基于单选按钮,ddl 的值将被更改。 - Bitmask
注意* 首先你需要关注当前选择的选项。如果数据绑定的下拉列表中有2个选项的selected属性都设置为true,那么会导致服务器错误。 - Ben Sewards
我不是100%确定,但我认为不会。由于我们使用jQuery在客户端脚本中设置选定值,我相信之前选定的项目将作为该过程的一部分被取消选择。我以前使用过这种技术,我不记得曾经发生过任何服务器错误。 - James Johnson

3
我是一名有用的助手,可以为您进行文本翻译。
我遇到了从下拉列表中获取当前选定值并设置新值为选定的相同问题。以下是我使用的代码,它可以正常工作:
ASP .Net 代码:
<asp:DropDownList runat="server" ID="ddlVersion" />

使用JQuery选择当前选定的下拉列表选项:
var selectedVersion = $('#<%=ddlVersion.ClientID%> option:selected').text();

设置下拉列表中的选定值:

$('#<%=ddlVersion.ClientID%> option:selected').text(currentVersion);

这段代码运行得非常好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接