【问题标题】:How to set the value of the dropdown in knockout js?如何在淘汰赛js中设置下拉菜单的值?
【发布时间】:2013-01-19 15:15:30
【问题描述】:

我的页面中有两个下拉菜单。 一个在准备就绪时加载,另一个在选择第一个下拉菜单后加载。

var ViewModel = function() {
   var self = this;
   self.DropDownA = ko.observableArray();
   self.DropDownB = ko.observableArray();
   self.selectedDDA = ko.observable();
   self.selectedDDB = ko.observable();

   $.getJSON("api/GetA",function(result) {
      ko.mapping.fromJS(result,{},self);
   });
   self.selectedDDA.subscribe(function(value) {
      $.getJSON("api/GetB/value",function(result) {
          ko.mapping.fromJS(result,{},self);
   });
   });
}

现在我的问题是,如果 A 和 B 的值设置为隐藏值,我如何预加载选定的值?我试过了,但它不起作用:

self.selectedDDA( $("#hiddenValue").val());

请帮忙。谢谢!

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin


    【解决方案1】:

    我想知道...您在哪里设置该值。我可能会确保在填充数据后设置它

     $.getJSON("api/GetA",function(result) {
         ko.mapping.fromJS(result,{},self);
         self.selectedDDA( $("#hiddenValue").val());
     });
    

    【讨论】:

      【解决方案2】:

      根据你的描述

      "一个在准备就绪时加载,另一个在第一个下拉菜单后加载 被选中。 "

      以及您的使用:

      self.selectedDDA( $("#hiddenValue").val());
      

      这听起来你可能需要重新考虑你是如何编码的。请注意,在淘汰赛或其他一些 JS 框架中,您真的不应该直接进行 DOM 读取/写入/更改。您应该仅在 Knockout JS 代码中表示您的模型。 Knockout 将为您处理 DOM 更新。如果您提供更多代码,我可以显示更多详细信息。

      【讨论】:

        猜你喜欢
        • 2015-05-06
        • 1970-01-01
        • 1970-01-01
        • 2014-10-07
        • 1970-01-01
        • 1970-01-01
        • 2016-06-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多