Comments 16
Как много кода… Вы не пробовали использовать Backbone? На вскидку код будет в 2 раза короче и понятней.
Чета перемудрил автор. Сдается мне, можно было проще.
Так проще
jsfiddle.net/k93Qa/1/
jsfiddle.net/k93Qa/1/
Маленькая неточность
jsfiddle.net/k93Qa/2/
jsfiddle.net/k93Qa/2/
а вот этот вариант у меня неправильно работает.
Там можно еще или убрать пустое значение для selectedOrgType или точно так же обернуть биндинг для selectedOrgType().name
Спасибо большое за то что показали и дуругую сторону. Но вот после того как посмотрел Ваш скрипт, обнаружил в нем проблему, с которой я и сталкивался. Т.е. если будет указан индекс типа из Вашего кода отличный от нуля и если будет указан индекс отличный от нуля для субтипа входящего в этот тип, то во втором комбобоксе, принадлежащем субтипу не покажется указанный субтип. В этом то и проблема. А в моем скрипте показывается.
Тест
При условии что я указал в Вашем скрипте следующие данные:
Я должен был бы получить во втором комбобоксе выделенное значение субтипа по этому индексу, однако в нем вижу Select SubType...
В моем коде используется значение идентификатора субтипа для выделения его в комбобоксе. И если я укажу по умолчанию:
То я вижу в первом комбобоксе tp2, в во втором subT5, т.е. пользователь увидит свои выбранные ранее данные подгруженные из БД.
В подтверждение даю ссылку на код с установленными идентификаторами Мой код с изменениями на JsFiddle
Тест
При условии что я указал в Вашем скрипте следующие данные:
selectedOrgType = ko.observable(orgTypes()[1]),
selectedOrgSubType = ko.observable(orgTypes()[0].subTypes()[2]);
Я должен был бы получить во втором комбобоксе выделенное значение субтипа по этому индексу, однако в нем вижу Select SubType...
В моем коде используется значение идентификатора субтипа для выделения его в комбобоксе. И если я укажу по умолчанию:
selectedOrgTypeId = ko.observable(2),
selectedOrgSubTypeId = ko.observable(5),
То я вижу в первом комбобоксе tp2, в во втором subT5, т.е. пользователь увидит свои выбранные ранее данные подгруженные из БД.
В подтверждение даю ссылку на код с установленными идентификаторами Мой код с изменениями на JsFiddle
Похоже я написал неправильный тест! xdenser прошу прощения, я неверно указал индекс типа, при установке подтипа, поэтому у меня не показывался субтип :) Все отлично работает в Вашем варианте! Возьму на вооружение! Огромное спасибо! :)
И вот еще заметил, оказывается моя реализация не корректно работает, если использовать
optionsCaption: ''
. Без указания этого свойства все работает, а с ним нет. Так что спасибо Вам за Вашу реализацию.тоже нет. подсписок не меняется.
Backbone не для таких задач ИМХО ))) Тут как раз по логике больше knockout подходит.
На AngularJS будет как-то так: jsfiddle.net/9PH7e/
Sign up to leave a comment.
Отображение зависимых данных, на примере использования двух ниспадающих списков, посредством knockout