当前位置: 首页 > 知识库问答 >
问题:

用于级联DropDownList的MVVM绑定

古畅
2023-03-14

我有一个网页与两个kendDropDownList使用级联。第一个是州,第二个是城市。当您选择一个州时,您可以从第二个DropDownList中选择城市。如果我用鼠标挑选它们,这工作得非常好。

问题是,当我试图将一些数据绑定到这些DropDownList时,状态更新了,但城市没有更新。

这是我的页面的HTML:

<div id="container">
    <input id="state" name="state" data-bind="value: state"/>
    <input id="city" name="city" data-bind="value: city"/>
</div>

这就是JavaScript:

var state = $("#state").kendoDropDownList({
    dataTextField: "state",
    dataValueField:"state",
    dataSource:    {
        serverFiltering:true,
        data:           states
    },
    change:        function () {
        console.log("state changed");
    }
}).data("kendoDropDownList");

var city = $("#city").kendoDropDownList({
    autoBind:      false,
    dataTextField: "city",
    dataValueField:"city",
    cascadeFrom:   "state",
    dataSource:    {
        serverFiltering:true,
        transport:      {
            read:function (operation) {
                var ds = cities [state.value()];
                if (ds) {
                    return operation.success(ds);
                } else {
                    return operation.success(["N/A"]);
                }
            }
        }
    }
}).data("kendoDropDownList");

如果我使用以下代码绑定数据:

kendo.bind($("#container"), { state:"California", city: "Berkeley" });

除非州DropDownList已经包含值California,否则它不会将city设置为Berkeley

似乎使用bind不会在StateDropDownList中触发Change事件,然后CityDropDownList不会用新状态的City重新加载。

您可以在中找到此代码http://jsfiddle.net/OnaBai/QUhEX/3/

如何将级联与MVVM绑定一起使用?

共有1个答案

佴阳辉
2023-03-14

我准备了一个演示,演示了如何在MVVM中使用级联下拉列表:http://jsbin.com/ujorer/1/edit

 类似资料:
  • 如何将MVVM值绑定到dropdownlist?下面的输入元素运行良好

  • 我有一个使用MVVM绑定初始化的dropdown列表,它按预期被禁用。 现在在某些情况下,我想在其他控件触发的某些事件中以编程方式启用此下拉列表。 在该事件处理程序中,我调用这一行:

  • 我是剑道MVC的新手,所以请耐心等待。我有以下代码来创建一个剑道MVC DropDownList For: "原始"ViewModel的Kind"属性对应于从DataSource-Read终结点接收的数据的"Code"属性。 请指教。 谢谢你,屋大维

  • 我有一个问题,我怎么做一个级联选择器来链接所选城市中的所有州? 这段代码检索所有的城市和州,但有一点我想不通,就是如何取所选的城市值,并将其与州同步。 这是ViewModel 这是XAML

  • 本文向大家介绍Yii2使用dropdownlist实现地区三级联动功能的方法,包括了Yii2使用dropdownlist实现地区三级联动功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Yii2使用dropdownlist实现地区三级联动功能的方法。分享给大家供大家参考,具体如下: 视图部分: 模型部分: 就是我们常用的ajax请求,当然php中需要直接组合成<option val

  • 我有一个KendoUI下拉列表,它从网络服务中获取数据,这取决于所选的项目,第二个下拉列表被填充。我使用MVVM绑定。 我的代码如下所示: 两个列表的数据最初都已正确填充,并且已正确绑定到模型。但是,更改第一个下拉列表的值不会导致第二个下拉列表刷新其数据。从未触发对web服务的调用。 我在这里看到过使用本地数据的类似情况: 用于级联DropDownList的MVVM绑定