可以';t更改所选选项

本文关键字:选项 可以 | 更新日期: 2023-09-27 18:24:41

我有一个带有数据绑定的dropdownlist;

<asp:DropDownList ID="cmbType" Runat="server" AutoPostBack="False" data-bind="value: moveType">
  <asp:ListItem Value="">-- Please Select --</asp:ListItem>
  <asp:ListItem Value="0">Car</asp:ListItem>
  <asp:ListItem Value="1">Air</asp:ListItem>
</asp:DropDownList>

当页面加载时,默认情况下(据我所知,是选择第一个选项)。问题是我根本无法更改此选择。

我尝试了第二件事:

$('#cmbType option[value=' + d.Type + ']').attr("selected", "selected");

$("#cmbType").val(d.Type);

var viewModel = {
  this.moveType = ko.observable(d.Type);
};
ko.applyBindings(new ViewModel());​

d.类型=0或1。

事实上,所有的变体似乎都在起作用。他们将可见值更改为选定值(Car或Air),但当我试图获得选定值时,我得到的是value="(--请选择--)。

当下拉列表显示选择了其中一个选项(Car或Air),但实际选择的选项仍然是(--请选择--)时,会是什么情况?

可以';t更改所选选项

试试这个:

$('#<%=cmbType.ClientID %> option[value=' + d.Type + ']').attr("selected", "selected");

ClientID:获取ASP.NET生成的HTML标记的控件ID。

您也可以将控件的ClientIDMode更改为Static,这将保留您在Id属性中设置的值。