小编zpo*_*jec的帖子

knockout.js - 嵌套数组数据和级联预填充下拉列表绑定

我对knockout.js很新,但是,我一直很乐意在我的ASP.NET MVC 4项目中使用它,直到我遇到这个困扰我一段时间的障碍,似乎无法把我放在手指放在上面.

我正在处理的场景需要几个位置数据组合(区域,国家,城市),即级联下拉列表,这在输入新数据时不是问题,但我在尝试时遇到了问题编辑保存的数据.

数据采用JSON格式,带有嵌套数组,如下所示(为简化说明而缩写):

var newData = 
[
  {
    "ID":1,
    "Name":"Australia and New Zealand",
    "Countries":[
      {
        "ID":13,
        "Name":"Australia",
        "Cities":[
          {
            "ID":19,
            "Name":"Brisbane"
          },
          {
            "ID":28,
            "Name":"Cairns"
          },
...
Run Code Online (Sandbox Code Playgroud)

我怀疑我无法正确加载数据(或者更清楚地绑定它),因为我无法访问Region子阵列(包含Region的国家/地区)和Countries子阵列(包含国家/地区的城市) .

然后是预先填充选项的问题,部分工作,viewmodel加载行数,但不选择任何东西.

这是VM:

   var existingRows = [
    {
        "Region": 1,
        "Country": 13,
        "City": 19
    },
    {
        "Region": 1,
        "Country": 158,
        "City": 3
    }];

   var Location = function (region, country, city) {
       var self = this;
       self.region = ko.observable(region);
       self.country = ko.observable(country);
       self.city = ko.observable(city);

       // Whenever the region …
Run Code Online (Sandbox Code Playgroud)

javascript data-binding cascadingdropdown knockout.js

4
推荐指数
1
解决办法
4888
查看次数