我有一个带有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; ( - 请选择 - )。
当下拉列表显示选择了其中一个选项(汽车或空中)但真正选择的选项仍然是( - 请选择 - )时,它会是什么?
答案 0 :(得分:5)
试试这个:
$('#<%=cmbType.ClientID %> option[value=' + d.Type + ']').attr("selected", "selected");
ClientID :获取ASP.NET生成的HTML标记的控件ID。
您还可以将控件的ClientIDMode
更改为Static
,这将保留您在Id
媒体资源中设置的值。