javascript - Angular Material chain combine via md-select from arrays, form inputs array -


i have little problem chain combine in angular material. want "replace" solution link jsfiddle material using md-select , md-option.

how must works? simple. scenario:

  1. first md-select: select e.g. manufacturer.
  2. second md-select: select e.g. model
  3. place price array text input value.

array struct:

manufacturer
-models
--model (model name , price)

one more thing want array these form inputs this:

master = [   {     "product": {       "name": "1936 harley davidson el knucklehead",       "price": 24.23      }   } ] 

could me? show or tell me how can it. i'll appreciate help.

regards

please have @ code snippet below angular material

var app = angular.module('app', ['ngmaterial']);    app.controller('selectcontroller', function ($scope) {          // data taken knockoutjs cart example          $scope.sampleproductcategories = [            {              "name": "classic cars",                "products": [                {                  "name": "1948 porsche 356-a roadster",                    "options":[                        {"value": "color",                         "options":[                        {"value": "red"},                        {"value":"black"}                        ],                                                         },                        {"value":"seats",                        "options":[                        {"value": "leather"},                        {"value":"cloth"}                        ],                                                    },                                               {"value":"warranty",                        "options":[                        {"value": "2 year"},                        {"value":"3 year"}                        ],                                                    }                                             ],                  "price": 53.9                },                {                  "name": "1948 porsche type 356 roadster",                  "price": 62.16                },                {                  "name": "1949 jaguar xk 120",                  "price": 47.25                }              ]                          },            {              "name": "motorcycles",              "products": [                {                  "name": "1936 harley davidson el knucklehead",                  "price": 24.23                },                {                  "name": "1957 vespa gs150",                  "price": 32.95                },                {                  "name": "1960 bsa gold star dbd34",                  "price": 37.32                }              ]                          },            {              "name": "planes",                "products": [                {                  "name": "1900s vintage bi-plane",                  "price": 34.25                },                {                  "name": "1900s vintage tri-plane",                  "price": 36.23                },                {                  "name": "1928 british royal navy airplane",                  "price": 66.74                },                {                  "name": "1980s black hawk helicopter",                  "price": 77.27                },                {                  "name": "ata: b757-300",                  "price": 59.33                }              ]                          }          ];      });    angular.bootstrap(document, ['app']);                   
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css"/>    <!-- angular material requires angular.js libraries -->    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>      <!-- angular material library -->    <script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>        <div ng-controller="selectcontroller">      <div layout="row">    <md-input-container style="margin-right: 10px;">          <label>catgory</label>          <md-select ng-model="category">            <md-option ng-repeat="c in sampleproductcategories" ng-value="c">{{c.name}}</md-option>          </md-select>        </md-input-container>        <md-input-container style="margin-right: 10px;">          <label>product</label>          <md-select ng-model="categoryitem">            <md-option ng-repeat="p in category.products" ng-value="p">{{p.name}}</md-option>          </md-select>        </md-input-container>        <md-input-container style="margin-right: 10px;">          <label>subchild</label>          <md-select ng-model="subchild">            <md-option ng-repeat="o in categoryitem.options" ng-value="o">{{o.value}}</md-option>          </md-select>        </md-input-container>        <md-input-container style="margin-right: 10px;">          <label>level4</label>          <md-select ng-model="level4">            <md-option ng-repeat="o in subchild.options" ng-value="o">{{o.value}}</md-option>          </md-select>        </md-input-container>     </div>    <hr />    category={{category.name}}<br/>    product={{categoryitem.name}}<br/>    subchild={{subchild.value}}<br/>    level4={{level4.value}}<br/>        </div>


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -