AngularJS选择选定属性的索引

时间:2018-10-11 04:29:33

标签: javascript angularjs

我有一个请求,该请求根据选择的提供者返回对象数组。像这样:

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

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

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

Unidad文本输入应自动为“框”,“ precioUnitario”字段应为200。 或视觉上: enter image description here

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

控制器:

$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> 

1 个答案:

答案 0 :(得分:0)

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

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