2012-04-25 3 views
0
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" } 
]; 

Я хотел бы отобразить два выпадающего списка, в которых первый раскрывающийся список отображает все города Нью-Йорка и второе выпадающее меню со списком городов калифорнии. Может ли кто-нибудь пролить некоторый свет, как это сделать в нокаутах? список «dropdownData» является динамическим, поэтому, если добавляются дополнительные состояния в список, выпадающее меню должно генерироваться динамически.Knockoutjs множественный выпадающий список из одного массива

Любая помощь очень ценится!

Спасибо!

ответ

0

Вы можете добавить два dependObservables, которые возвращают отфильтрованные представления вашего массива (которые вы все равно должны преобразовать в наблюдаемыйArray). Один из них был бы единственным уникальным значением для состояния (для этого можно использовать ko.utils.arrayGetDistinctValues), а другой - города, соответствующие выбранному состоянию (используйте ko.utils.arrayFilter). См. here, чтобы вы начали.

+0

Спасибо Matt! На самом деле я получил его работу со статическим списком, так как список динамический, мне просто нужен выпадающий список для каждого состояния в массиве. Спасибо за вклад, это, безусловно, помогает! –

Смежные вопросы