javascript - 在 Knockout 中绑定(bind) Json

标签 javascript json knockout.js

我必须绑定(bind) json 类型的“城市”字段:

{
"italia": [
    {
        "regione": "Abruzzo",
        "capoluoghi": [
            {
                "citta": "Chieti",
                "sigla": "CH"
            },
            {
                "citta": "L'Aquila",
                "sigla": "AQ"
            },
            {
                "citta": "Pescara",
                "sigla": "PE"
            },
            {
                "citta": "Teramo",
                "sigla": "TE"
            }
        ]
    },{
        "regione": "Basilicata",
        "capoluoghi": [
            {
                "citta": "Matera",
                "sigla": "MT"
            },
            {
                "citta": "Potenza",
                "sigla": "PZ"
            }
        ]
    }, ...

在“选择”html 中,通过 knockout 。 我输入了代码:

self.provincia = ko.mapping.fromJS([]);
$.getJSON("italia.json", function (data) {
        ko.mapping.fromJS(data.italia, {}, self.provincia)
    })

在 html 中:

    <div  data-bind="with: provincia">
<select class="mm-menu__link" id="Provincia" data-bind:"foreach: capoluoghi">
                    <option data-bind="text:citta"></option>
                </select>
                    </div>

以便显示所有城市,但不幸的是我一无所获!

我做错了什么?

戴夫

最佳答案

虽然你的问题有点不清楚,但我希望这是你最终看到的。

View :

<div data-bind="foreach: provincia">
    <select class="mm-menu__link" id="Provincia" data-bind="foreach: capoluoghi">
        <option data-bind="text:citta"></option>
    </select>
</div>

View 模型:

var ViewModel = function () {
    var self = this;
    self.provincia = ko.observable();
    ko.mapping.fromJS(json.italia, {}, self.provincia)
};
ko.applyBindings(new ViewModel());

工作样本 here

如果您想在一个下拉列表中显示所有城市,请选中 here

关于javascript - 在 Knockout 中绑定(bind) Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211089/

相关文章:

javascript - 有没有办法在turbolinks.visit(url)之后在选择菜单中显示所选选项值

java - jackson : Partially update bean with json String

c# - 使用 C# 在 JSON 中添加类名

knockout.js - 分析 knockoutjs 映射插件

javascript - knockout 多选 selectedOptions 包含值而不是对象

javascript - KnockoutJS 删除动态绑定(bind)

javascript - D3js 与 google chrome 的兼容性错误

javascript - AngularJS 选择 - 在 Controller 中设置 ng-model 不会更新所选值

javascript - 为什么这个简单的切换不起作用?

php - 谷歌折线图双 Y 轴问题