无法显示绑定的数据以使用knockout js进行选择

时间:2016-02-16 03:03:39

标签: knockout.js

我编写了绑定数据的代码,如下所示选择

<select class="form-control" data-bind="options: testData,value: selectedProjectID,optionsValue:'Id', optionsText: 'name'"></select>

function dataClass() {
viewmodel= this;
  this.testData = ko.observableArray([]);
 var array = [{ Id: "", name: "" }];
  ko.utils.arrayForEach(response.result, function (item, index) {
  array.push({ Id: item.objectId, name: item.name })
  array.join(',')
   });
   viewmodel.testData= JSON.stringify(array);
  // my data after json.stringify "[{"Id":"1","name":"Test"},{"Id":"2","name":"Test2"},]"

我收到了所需的结果,但无法在选择中显示,有人可以帮助我

1 个答案:

答案 0 :(得分:1)

不需要stringify数组,而且不需要额外的数组。您可以直接将项目推送到observableArray

function dataClass() {
  var viewmodel = this;
  viewmodel.testData = ko.observableArray([]);

  ko.utils.arrayForEach(response.result, function (item, index) {
     viewmodel.testData.push({ Id: item.objectId, name: item.name })
  });
}