首页 文章

如何设置动态输入ng-repeat的默认值?

提问于
浏览
1

我尝试为某些输入设置默认值 .

当我尝试在离子框架中设置默认值时

ng值

这工作,但当我提交表格时,我永远不会得到默认值 . 我得到了不确定 . 我认为这是因为我无法在渲染表格之前启动我的目标 .

但是用动态输入名称我无法找到方法 .

这是我的控制器:

function MyCtrl($scope) {
    $scope.frequences = [];
    $scope.medicaments = {
    15:{dose : 10,frequence :"matin", name:"test1"},
    16:{dose : 15,frequence :"matin", name:"test2"},
    17:{dose : 19,frequence :"matin", name:"test3"},
    };

    $scope.genererDate = function(form) {
            console.log($scope.frequences)
}

还有我的HTML

<ion-item ng-repeat="(key, value) in medicaments " >

<span class="">{{key}} - {{value.name}}</span>
    <input type="text"  ng-model="frequences[key]['dose']"  ng-init="frequences.key['dose'] = value.dose" >

    <input type="text" ng-model="frequences[key]['frequence']"  ng-init="frequences[key]['frequence'] = value.frequence">

</ion-item>

我有一个小提琴,ng值在这里不起作用,所以我尝试使用ng-init .

http://jsfiddle.net/hwunpm5q/2/

1 回答

  • 1

    使用 {} 定义 $scope.frequences = {}; 而不是数组 []

    它应该通过 frequences[key]['dose'] 访问 frequences.key['dose']

    var myApp = angular.module('myApp',[]);
    
    //myApp.directive('myDirective', function() {});
    //myApp.factory('myService', function() {});
    
    function MyCtrl($scope) {
       	$scope.frequences = {};
      	$scope.medicaments = {
        15:{dose : 10,frequence :"matin", name:"test1"},
        16:{dose : 15,frequence :"matin", name:"test2"},
        17:{dose : 19,frequence :"matin", name:"test3"},
        };
        
        $scope.genererDate = function(form) {
    	  console.log($scope.frequences)
         }
      
    }
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <body ng-app="myApp">
    <div ng-controller="MyCtrl">
    
     <form name="myform" novalidate="" ng-submit="genererDate(myForm)" > 
    <ion-item ng-repeat="(key, value) in medicaments " >
    
    <span class="">{{key}} - {{value.name}}</span>
    										
    <input type="text"  ng-model="frequences[key]['dose']"  ng-init="frequences[key]['dose'] = value.dose" >
    
    <input type="text" ng-model="frequences[key]['frequence']"  ng-init="frequences[key]['frequence'] = value.frequence">
    
    
    </ion-item>
    <button class="button button-full buttonValiderTraitement" type="submit" ng-click="Submit">Submit</button> </form> </div> </body>

相关问题