angularjs tree ng-options parentid

Angularjs: ng-options con grupo



tree parentid (3)

El desplegable simple que puede mostrar elementos con y sin grupos, y también puede establecer algunos elementos como deshabilitados: Aquí está plunk: https://plnkr.co/edit/uhsn4lmzssi6rrijPEAp?p=preview

<select ng-model="ddl.selected" ng-options="item.id as item.text group by item.groupName disable when item.enabled===false for item in ddl.items"></select>

Tengo una situación de árbol de un nivel:

<select ng-model="tipost" ng-options="tip.DESC group by tip.TIPIS for tip in tipall"><br> </select>



donde el json es:

[ {"ID":"1", "IDPARENT":"0", "TIPIS":"", "DESC":"GroupName1"}, {"ID":"2", "IDPARENT":"1", "TIPIS":"GroupName1", "DESC":"CHILDNAME1"}, {"ID":"3", "IDPARENT":"0", "TIPIS":"", "DESC":"GroupName2"} ]



El problema es que esto crea los grupos de opciones con sus hijos, pero también repite las raíces:

- GroupName1 - GroupName2 [ GroupName1 ] - CHILDNAME1 [ GroupName2 ]


quiero producir:

[ GroupName1 ] - CHILDNAME1 [ GroupName2 ]



Estaba buscando la misma pregunta y encontré mejor respuesta. Uno puede usar la función para devolver los datos que necesita, como en la consulta debajo de getGarageName

ng-options="car.id as car.name + '' ('' + car.color + '')'' group by getGarageName(car.garageId) for car in cars" // this is the data cars = [ {"id": 1, "name": "Diablo", "color": "red", "garageId": 1}, {"id": 2, "name": "Countach", "color": "white", "garageId": 1}, {"id": 3, "name": "Clio", "color": "silver", "garageId": 2}, ... ] garages = [ {"id": 1, "name": "Super Garage Deluxe"}, {"id": 2, "name": "Toms Eastside"}, ... ]

http://www.wenda.io/questions/2597799/angular-js-select-with-ngoptions-label-the-optgroup.html


La agrupación no funciona así, si cambias tu json a algo como esto:

[ {"ID":"1", "TIPIS":"GroupName1", "DESC":"name"}, {"ID":"2", "TIPIS":"GroupName1", "DESC":"name1"}, {"ID":"3", "TIPIS":"GroupName2", "DESC":"name2"}, {"ID":"4", "TIPIS":"GroupName1", "DESC":"name3"}, ]

Entonces obtendrás la agrupación como quieras

jsFiddle: http://jsfiddle.net/rtCP3/182/