将输入无线电的值绑定到 ng-repeater 到 webSql 数据库

Bind value of input radio into ng-repeater to webSql database

这是我的代码。 DOM returns undefined for input radio[name="Dispense"] 调用函数 AggiungiProdotto().

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>

Javascript 部分

    $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)
            })
        }
};

这是因为作用域问题 ng-repeat 创建了它自己的作用域,控制器不可用(仅适用于原始类型)。

你可以通过两种方式解决

首先:- 将 $parent 与模型一起使用。

 <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}}">

小fiddle 求理解 http://jsfiddle.net/7e27har1/