рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪрд┐рдпреЛрдВ (рдЯреИрдЧ) рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЙрдХрдЖрдЙрдЯ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
). , , knockout.
!
( ). .. , () .
( )
:
javascript
:
function OrgType(idv, namev, subTypesv){ var id = ko.observable(idv), name = ko.observable(namev), subTypes = ko.observableArray(subTypesv); return { id : id, name : name, subTypes : subTypes }; }
рд╕рдВрдЧрдарди рдХрд╛ рдореЙрдбрд▓ рдЙрдк рдкреНрд░рдХрд╛рд░:
function OrgSubType(idv, namev){ var id = ko.observable(idv), name = ko.observable(namev); return { id : id, name : name }; }
рдФрд░ рдлрд╛рд░реНрдо рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп (рдореБрдЦреНрдп) рдореЙрдбрд▓:
function OrgTypesModel(){ var orgTypes = ko.observableArray([ new OrgType(1,'tp1', [new OrgSubType(1,'subT1'), new OrgSubType(2,'subT2'), new OrgSubType(3,'subT3')]), new OrgType(2,'tp2', [new OrgSubType(4,'subT4'), new OrgSubType(5,'subT5'), new OrgSubType(6,'subT6'), new OrgSubType(7,'subT7')])]), selectedOrgTypeId = ko.observable(1), selectedOrgType = ko.computed(function(){ var otList = orgTypes(), selId = selectedOrgTypeId(); for(var i =0; i<otList.length; i++){ if(otList[i].id()==selId) return otList[i]; } return null; }), selectedOrgSubTypeId = ko.observable(1), selectedOrgSubType = function(){ var otList = selectedOrgType().subTypes(), selId = selectedOrgSubTypeId(); for(var i =0; i<otList.length; i++){ if(otList[i].id()==selId) return otList[i]; } return null; }; return { orgTypes : orgTypes, selectedOrgTypeId : selectedOrgTypeId, selectedOrgType : selectedOrgType, selectedOrgSubTypeId : selectedOrgSubTypeId, selectedOrgSubType : selectedOrgSubType }; }
- рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореБрдЦреНрдп рдореЙрдбрд▓ orgTypes рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЧрдарди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
- рдЪрдпрдирд┐рддOrgTypeId рдЧреБрдг рдЪрдпрдирд┐рдд рд╕рдВрдЧрдарди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдорд╛рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ
- рдЪрдпрдирд┐рддOrgType рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдЧрдарди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ *
- рдЪрдпрдирд┐рдд OrgSubTypeId рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдЪрдпрдирд┐рдд рдЙрдк рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЧрдарди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВ
- рдЪрдпрдирд┐рддOrgSubType рдЧреБрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ - рдХрд┐рд╕реА рдЙрдк-рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЧрдарди рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЛрдб
<div> <label>Organization type:</label> <select data-bind="options: orgTypes, optionsText: 'name', optionsValue: 'id', value: selectedOrgTypeId"> </select> <span data-bind="text: selectedOrgType().name"></span> </div> <div> <label>Organization sub type:</label> <select data-bind="options: selectedOrgType().subTypes, optionsText: 'name', optionsValue: 'id', value: selectedOrgSubTypeId"></select> <span data-bind="text: selectedOrgSubType().name"></span> </div>