我正在为 ko.computed-function 和 with 绑定而苦苦挣扎。当按下“新建”按钮时,我想显示一个空的输入文本字段。从下拉列表中选择时,我希望文本字段显示下拉列表中选定的选项文本。
这是来自 viewModel.js:
// selected item from ticket drop down
self.selectedItem = ko.observable(null);
// status of button "New"
self.newIsPushed = ko.observable(false);
self.showName = ko.computed(function () {
// logic for calculating when to show Name.
return (self.newIsPushed() && (self.selectedItem() ? (null) : true));
}, self);
从我的 ascx 文件:
<select data-bind="options: ticketCollection,
optionsCaption: 'Choose...',
optionsText: 'ticketname',
value: selectedItem"></select>
<button type="button" name="btnNew"
data-bind="click: newTicket, disable: newIsPushed">New</button>
<p data-bind="with: showName">
<label>Name: <input type="text"
data-bind="value: ticketname" /></label><br />
</p>
为什么当我按下“新建”按钮或从我的 ddl 中选择另一个项目时输入字段没有更新???
干杯!
阿斯莱 :)