我是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