2015-01-24 7 views
0

이것은 내 코드입니다. DOM은 AggiungiProdotto() 함수를 호출 한 후 input radio[name="Dispense"]에 대해 undefined을 반환합니다.입력 라디오의 바인딩 값을 ng-repeater에 webSql 데이터베이스에 바인딩

HTML 부분 :

<ons-list ng-controller="ListaDispense"> 
     <ons-list-header>Seleziona Dispensa</ons-list-header> 
     <ons-list-item modifier="tappable" ng-repeat="item in items" ng-repeat="item in items"> 
      <label class="radio-button radio-button--list-item"> 
      <input type="radio" name="Dispense" id="{{item.id}}" ng-model="IdDispensa" ng-value="{{item.id}}"> 
      <div class="radio-button__checkmark radio-button--list-item__checkmark"></div> 
       {{item.NomeDispensa}} 
      </label> 
     </ons-list-item> 
     </ons-list> 

자바 스크립트 부분

$scope.AggiungiProdotto = function() { 
      var t = $scope.IdDispensa; //$("input[name=Dispense]:checked").val(); 
      var n = $scope.nomeProdotto; //$("#nomeProdotto").val(); 
      var d = $scope.DataScadenza; //$("#DataScadenza").val(); 
      var g = $scope.GiorniPreavviso; //$("#GiorniPreavviso").val(); 

      if(n==undefined || t == undefined){ 
       ons.notification.alert({message: 'Inserisci il nome del prodotto e/o categoria!'}); 
       return false; 
      } 
      else{ 
      dbRemindUse.transaction(function(e) { 
       var i = "INSERT INTO prodotti (nome, iddispense, datascadenza, giornipreavviso) VALUES (?, ?, ?, ?)"; 
       e.executeSql(i, [n, t, d, g], function() { 
        ons.notification.alert({message: 'Prodotto Inserito'}); 
       }, error) 
      }) 
     } 
}; 

답변

2

이는 범위 문제 NG 반복이다가 (단지 원시 형의 경우) 컨트롤러에 사용할 수없는 자신의 범위를의 만듭니다. 모델을 사용하여 $ 부모 - :

두 가지 방법

먼저

하여 해결할 수 있습니다.

<input type="radio" name="Dispense" id="{{item.id}}" ng-model="$parent.IdDispensa" ng-value="{{item.id}}"> 

둘째 : - 모델의 객체를 생성 : -

$scope.object={ 
IdDispensa:"" 
} 
<input type="radio" name="Dispense" id="{{item.id}}" ng-model="object.IdDispensa" ng-value="{{item.id}}"> 

작은 바이올린을 http://jsfiddle.net/7e27har1/

+0

보이는를 이해하기위한 10 초 나를 이길처럼 ... 나는 내 대답은 삭제됩니다 –

+0

하하 미안 :-) 답변이 좋기를 바랍니다. – squiroid

+0

안녕하세요, 도와 주셔서 감사합니다, 나는 첫 번째를 사용합니다 : 하지만 결과는이 스크립트의 $ scope var t = $ scope.IdDispensa에 대해"undefined "입니다. – user1969503