valor tablas seleccionar obtener llenar dinamico contador con asignar angular typescript drop-down-menu

angular - tablas - cómo mostrar los valores desplegables en función de otro valor desplegable utilizando mecanografiado en la aplicación angualr 2



select dinamico angular (1)

Estoy desarrollando la aplicación angular 2, en mi proyecto actual deseo la funcionalidad para mostrar los valores desplegables en función del año, la marca y el modelo. Por ejemplo, si selecciono Honda, solo mostraré los modelos de Honda en el menú desplegable de modelos.

De forma predeterminada vincularé los datos completos para año, marca y modelo.

Esta es mi opinión.

VehicleComponent.html

<div class="row form-group"> <div class="col-md-3"> <label class="control-label">Year*</label><br /> <select friendly-name="Year" id="year" name="year" class="col-md-6 form-control" ng-required="true" onchange=''OnChange()'' > <option>Select</option> <option *ngFor=''let type of lookupdetailsvehicleyearinfo''>{{type.LookupValue}}</option> </select> </div> <div class="col-md-3"> <label class="control-label">Make*</label><br /> <select friendly-name="Make" class="col-md-6 form-control" ng-required="true" > <option>Select</option> <option *ngFor=''let type of lookupdetailsvehiclemakeinfo''>{{type.LookupValue}}</option> </select> </div> <div class="col-md-3"> <label class="control-label">Model*</label> <select friendly-name="Model" class="col-md-6 form-control" ng-required="true" > <option>Select</option> <option *ngFor=''let type of lookupdetailsvehiclemodelinfo''>{{type.LookupValue}}</option> </select> </div> </div>

Obtendré los datos anteriores de My Own API''s.

¿Puede decirme cómo escribir el código de mecanografía en la aplicación angular 2 para la funcionalidad anterior?

-Pradeep


Lo único que debe hacer es seguir el evento de change de su entrada de selección y cambiar la fuente de otra entrada de selección. Angular2 hará el resto.

Usando el value seleccionado:

@Component({ selector: ''my-app'', template: ` <div> <h2>Hello {{name}}</h2> <select (change)="firstDropDownChanged($event.target.value)" > <option>Select</option> <option *ngFor=''let v of _values1''>{{ v }}</option> </select> <select > <option>Select</option> <option *ngFor=''let v of _values2''>{{ v }}</option> </select> </div> `, }) export class App { name:string; private _values1 = ["1", "2", "3"]; private _values2 = []; constructor() { this.name = ''Angular2'' } firstDropDownChanged(val: any) { console.log(val); if (val == "1") { this._values2 = ["1.1", "1.2", "1.3"]; } else if (val == "2") { this._values2 = ["2.1", "2.2", "2.3"]; } else if (val == "3") { this._values2 = ["3.1", "3.2", "3.3"]; } else { this._values2 = []; } } }

live-demo: https://plnkr.co/edit/GDXsPt4aiS7vus6oPvuU?p=preview

ACTUALIZAR

O puede usar el Índice selectedIndex : (tenga en cuenta que -1 causa su primer elemento "Seleccionado".

@Component({ selector: ''my-app'', template: ` <div> <h2>Hello {{name}}</h2> <select (change)="firstDropDownChanged($event.target.selectedIndex - 1)" > <option>Select</option> <option *ngFor="let v of _values1">{{ v.val }}</option> </select> <select > <option>Select</option> <option *ngFor=''let v of _values2''>{{ v }}</option> </select> </div> `, }) export class App { name:string; private _values1 = [ { id: 1, val: "huhu" }, { id: 2, val: "val2" }, { id: 3, val: "yep" }, { id: 4, val: "cool" } ]; private _values2 = []; constructor() { this.name = ''Angular2'' } firstDropDownChanged(val: any) { const obj = this._values1[val]; console.log(val, obj); if (!obj) return; if (obj.id == 1) { this._values2 = ["1.1", "1.2", "1.3"]; } else if (obj.id == 2) { this._values2 = ["2.1", "2.2", "2.3"]; } else if (obj.id == 3) { this._values2 = ["3.1", "3.2", "3.3"]; } else { this._values2 = []; } } }

live-demo: https://plnkr.co/edit/wugNC6S27FB48EtRN906?p=preview