AngularJS Select 所选索引 属性

AngularJS Select index of selected property

我有一个请求 returns 基于所选提供者的对象数组。像这样:

data:[
    0:
        Producto:"Chiken",
        Unidad: "box",
        PrecioUnitario:"34334",
        etc..
    1:
        Producto:"Chiken",
        Unidad: "box",
        PrecioUnitario:"200",
        etc..
]

我在 <select> 标签中正确显示数据

我想要的是,如果用户选择 "Carne Asada" 所选子对象的所有其他属性都会在其余字段上自动选择,即:

Unidad 文本输入应自动 "box","precioUnitario" 字段应为 200。 或者视觉上:

另一件事是它应该显示对象具有的值,但它可以由用户编辑。

控制器:

$scope.columns = [{colId: 'col1', producto:[], catidad:'', unidades:[], preunit:''}];
$scope.fact = {};

$scope.get_proveedor_prod = function(fact){
  var data = {ProveedorID: fact.ProvID};
  $http.post(URL + "/api/get_prod_by_provider.php",data).then(function(callback) {
      $scope.products = callback.data;
  }); 
}

查看:

<md-input-container>
  <select ng-model="fact.producto"
  ng-options="item.ProductID as item.NombreProducto for item in products"
    class="form-control selectformcc" required>
    <option value="" disabled selected>Producto</option>
  </select>
</md-input-container> 

(我假设您的数据表示法不正确,并且您打算使用对象数组。)

select 绑定到整个项目,而不是绑定到项目的 属性:

ng-options="item as item.NombreProducto for item in products"  //not ="item.ProductID...

现在 fact.productoselect 模型)是一个对象,将包含整个项目。在您的 Unidad 文本框中,您可以使用:

<input type="text" ng-model="fact.producto.Unidad" />

这里有一个简单易懂的数据示例:Working Fiddle