【问题标题】:Knockout returning the latest data to drop down淘汰赛返回最新数据下拉
【发布时间】:2015-03-02 11:38:26
【问题描述】:

我有一个选择选项的淘汰赛绑定,我想要那个 onload,下拉列表中的 selectedvalue 来选择最新数据,但它也必须触发choice.subscribe

我找到了一个 jsFiddle,它将根据提供的 id 返回。这是 jsFiddle http://jsfiddle.net/h389pvs0/

function ViewModel(choices, choice) {
this.choices = ko.observableArray(choices);
this.choice = ko.observable(this.choices.find("id", choice)); 
};

【问题讨论】:

  • 您可以在设置“订阅”后对其进行初始化。 this.choice = ko.observable(); this.chocie.subscribe(...); this.choice(this.choices.find("id", choice));

标签: select knockout.js option


【解决方案1】:

您只需要在同一个小提琴中进行以下更改。它会为你工作。

请注意,我已添加 this.choice.subscribe() 此功能将监控下拉列表选择中所做的更改

function ViewModel(choices, choice) {
   this.choices = ko.observableArray(choices);
   this.choice = ko.observable(this.choices.find("id", choice)); 

    this.choice.subscribe(function(newValue){
      alert(newValue.id);
    })
};

http://jsfiddle.net/Dnyanesh/L0vL7zLu/4/

【讨论】:

  • 对不起,如果我没有说清楚。我需要完成的不是选择什么值的警报。但是当页面加载时,我希望下拉框返回数组的最新值,在这种情况下它将是三个。
  • 嗨 Dnyanesh,它应该提醒 3 而不是 2,但不会将选择更改为 3。数据具有这些值 1 、 2 、 3 ,我希望能够返回 3 因为 3 是最新值。如果数据的值为 1,2,3,4,5,6,则在页面加载时警报将为 6(下拉列表为 6)。
  • 从'我想要那个onload,下拉列表中的selectedvalue来选择最新的数据,但它也必须触发choice.subscribe'。因此,您希望所选值在集合中是最新的,并且在设置所选值订阅时应该触发。这是正确的理解吗?
  • 是的,正确。 onload 应该显示集合中的最新值,然后它应该触发订阅。
  • 你怎么知道6或3是最新的收藏价值? jsfiddle.net/Dnyanesh/L0vL7zLu/1 看看小提琴。
猜你喜欢
  • 2012-11-29
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 2014-03-19
  • 2016-11-23
  • 2015-11-05
相关资源
最近更新 更多