绑定不起作用,因为值未定义

时间:2013-05-28 17:36:30

标签: c# javascript jquery asp.net-mvc knockout.js

我正在关注a KnockoutJS tutorial。国家/地区列表已正确填充,但在选择国家/地区时,country.valueundefined

该文章的作者确实说他在记事本中键入了代码并且它应该可以工作,但我是一个KnockoutJS新手,所以我无法发现错误。任何帮助表示赞赏。

更新 - 我在下面的代码中替换了country.value以使用jquery $(“#Country”)。val()并且它现在可用了

  viewModel.stateSelect = ko.dependentObservable({
        read: viewModel.state,
        write: function (state) {
            this.state(state);
            $.getJSON('http://localhost:56502/KnockoutJS/CascadingDropdown/Cities/' + 
                      country.value, null, function (response) {
                viewModel.cities(response);
            });
        },
        owner: viewModel
    });

所以json调用看起来像这样并且也可以使用

            $.getJSON('http://localhost:56502/KnockoutJS/CascadingDropdown/Cities/' + 
                          $("#Country").val(), null, function (response) {
                              viewModel.states(response);
                          });

但是知道KO代码中的错误也很好

1 个答案:

答案 0 :(得分:2)

只需将$ .getJSON中的.value删除到

即可
       $.getJSON('http://localhost:56502/KnockoutJS/CascadingDropdown/Cities/' + 
                  country, null, function (response) {          // <<<<<<<<<<< removed .value
            viewModel.cities(response);
        });