无法更改所选选项

时间:2014-09-25 13:56:06

标签: c# jquery asp.net knockout.js

我有一个带有data-bind的下拉列表;

<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.Type = 0或1。

实际上,所有变体似乎都有效。他们将可见值改为选定的(汽车或空气)但是当我试图获得选定值时,我得到的值=&#34;&#34; ( - 请选择 - )。

当下拉列表显示选择了其中一个选项(汽车或空中)但真正选择的选项仍然是( - 请选择 - )时,它会是什么?

1 个答案:

答案 0 :(得分:5)

试试这个:

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

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

您还可以将控件的ClientIDMode更改为Static,这将保留您在Id媒体资源中设置的值。