淘汰选择选项不起作用

时间:2017-07-04 02:30:05

标签: javascript jquery html json knockout.js

我正在开发一个项目,其中从api获取数据,我正在尝试使用select绑定创建一个下拉列表。我在我的数据模型中声明了我选择的值对象可观察对象,但是当我尝试在select选项中使用值绑定时,它给我一个值的错误不是函数:

//....
    <h1 class="page-header">Kitchen</h1>
    <select data-bind="options:dataModel.options()[0]['Kitchen'], optionsText:'label', value: selectedValue">
    </select>
</div>`

这是我选择的HTML代码:

var dataModel = {
    selectedValue : ko.observable()
};

正如我之前所说,数据是从json文件中提取的。

这就是json的样子:

"options": {
    "Kitchen": [{
        "label": "Ivory",
        "data": "001-001"
    },
    {
        "label": "Chocolate",
        "data": "001-002"
    }]
}

1 个答案:

答案 0 :(得分:0)

json中的options不是数组(数组1是Kitchen),因此不应该是dataModel.options()['Kitchen']而不是dataModel.options()[0]['Kitchen']。或许你可以放dataModel.options().Kitchen 所以select看起来像是:

<select data-bind="options:dataModel.options().Kitchen, optionsText:'label', value: selectedValue">
</select>