我是KnockoutJS的新手。我有一个下拉式表单。当用户选择'当前'选项时,使用可见绑定使一个div可见,并且当选择'未来'时,使另一个div可见。但是,控件在视图之间切换时保留其值。请指导。下面是HTML基因敲除令人耳目一新的控件
<div class="row row-content">
<div class="col-xs-12">
<h4>Select Planning</h4>
</div>
<div class="col-xs-12 col-sm-9">
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="requestType" class="col-sm-4 control-label">Planning Type</label>
<div class="col-sm-8">
<select style="width:350px" class="input-md" data-bind="options: $root.DayRequests, value: selectedRequestType, optionsCaption: 'Select current/future'"></select>
</div>
</div>
</form>
</div>
</div>
<!--Current day request-->
<div class="container-fluid" data-bind="visible: showCurrent">
<h4>Current Day Request</h4>
<div class="row row-content">
<div class="col-xs-12 col-sm-9">
<form class="form-horizontal" role="form">
<div class="form-group">
<div class="col-sm-2">
</div>
<div class="col-sm-4">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkTownHall">Townhall(s)</label>
</div>
</div>
<div class="col-sm-6">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkSales">Sales Meeting</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-2">
</div>
<div class="col-sm-4">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkGroups">Groups</label>
</div>
</div>
<div class="col-sm-6">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkConference">Conference</label>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!--future Day Request-->
<div class="container-fluid" data-bind="visible: showfuture">
<h4>Future Day Request</h4>
<div class="row row-content">
<div class="col-xs-12 col-sm-9">
<form class="form-horizontal" role="form">
<div class="form-group">
<div class="col-sm-2">
</div>
<div class="col-sm-4">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkTownHallF">Townhall(s)</label>
</div>
</div>
<div class="col-sm-6">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkSalesF">Sales Meeting</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-2">
</div>
<div class="col-sm-4">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkGroupsF">Groups</label>
</div>
</div>
<div class="col-sm-6">
<div class="checkbox">
<label><input type="checkbox" data-bind="checked:chkConferenceF">Conference</label>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
,这里是脚本
<script>
var myViewModel = {
DayRequests: ko.observableArray(['Current', 'Future']),
selectedRequestType: ko.observable(),
showCurrent: ko.observable(false),
showfuture: ko.observable(false),
chkTownHall: ko.observable(false),
chkSales: ko.observable(false),
chkGroups: ko.observable(false),
chkConference: ko.observable(false),
chkTownHallF: ko.observable(false),
chkConferenceF: ko.observable(false),
chkGroupsF: ko.observable(false),
chkSalesF: ko.observable(false)
};
myViewModel.selectedRequestType.subscribe(function (requestTypeVal) {
if (requestTypeVal == 'Current') {
myViewModel.showCurrent(true);
myViewModel.showfuture(false);
}
else if (requestTypeVal == 'Future') {
myViewModel.showCurrent(false);
myViewModel.showfuture(true);
}
});
ko.applyBindings(myViewModel);
</script>
请显示更多的代码片段。你的模型你做了什么 –
我已经发布了一些示例代码来演示问题 – SilverFish