Knockoutjs从单个阵列多个下拉列表

时间:2012-04-25 20:35:37

标签: knockout.js

var dropdownData = [
   {City: "New York City", State:"New York" },
   {City: "Albany", State:"New York" },
   {City: "Bufflo", State:"New York" },
   {City: "Rochester", State:"New York" },
   {City: "San Francisco", State:"California" },
   {City: "Los Angeles", State:"California" },
   {City: "San Diego", State:"California" }
]; 

我想显示两个下拉列表,其中第一个下拉列表显示所有纽约城市,第二个下拉列表显示加州城市列表。有人可以在knockoutjs中解释一下如何实现它吗? “dropdownData”列表是动态的,因此如果将其他状态添加到列表中,则应该动态生成下拉列表。

非常感谢任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以添加两个dependentObservable,它们返回您的数组的过滤视图(无论如何您应该将其转换为observableArray)。一个是状态的唯一值(你可以使用ko.utils.arrayGetDistinctValues),另一个是与所选状态相对应的城市(使用ko.utils.arrayFilter)。请参阅here以帮助您入门。