从多个下拉列表中选择更改的值

时间:2017-07-07 06:18:06

标签: knockout.js

根据查询,我可以选择预选值--- Preselect a value in a dropdown using knockout

一旦下拉值发生变化,我需要使用新选择的值更新'PrimarySiteUsers可观察集合。

如有任何帮助,请与我们联系。

1 个答案:

答案 0 :(得分:0)

您正在寻找的是订阅。这些将观察指定的observable,并在更改observable时运行。它们将新值传递给您指定的任何函数。这是一个简短但无用的例子。

function viewModel() {
  var self = this;

  self.DisplayPage = ko.observable("");

  self.PageDetails = ko.observable("");

  self.DisplayPage.subscribe(function(newValue) {
    if (newValue == "Home") {
      self.PageDetails("No Place like home");
    }
    if (newValue == "About") {
      self.PageDetails("What about it?");
    }
    if (newValue == "Contact") {
      self.PageDetails("Contact who?");
    }

  })

}

ko.applyBindings(new viewModel());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<select data-bind="value: DisplayPage">
  <option value="Home">Home</option>
  <option value="About">About</option>
  <option value="Contact">Contact</option>
</select>

<div>

  <input data-bind="value: DisplayPage">

  <div data-bind="text: PageDetails"></div>

</div>