Увеличение значения текстового поля при нажатии на соответствующую кнопку в той же строке ionic

#angularjs #ionic-framework

#angularjs #ionic-framework

Вопрос:

Я новичок в ionic и angular. Я создал форму с ng-repeat, как показано. У меня есть текстовое поле и кнопка для каждого текстового поля. Я хочу увеличить значение текстового поля при нажатии на соответствующую кнопку рядом с текстовым полем.

 <ion-list id="allitems" ng-repeat="item in items track by $index">
<ion-item>
<form id="form1">
<div class="row">
<input type="text" id="nos_{{ $index }}"  name="nos_{{ $index }}" ng-model="data.myitem.nos" > 
<button class="button button-assertive button-small button-outline icon ion-ios-minus" id="allitems-button10" ng-click="increment_nos($index)">        
</button>
</div>
</form>
</ion-item>
</ion-list>
  

Моя функция контроллера заключается в следующем

 .controller('allitemsctrl', ['$scope', '$stateParams', '$location', '$timeout','$window', 
function ($scope, $stateParams, $location, $timeout,$window) {   
$scope.items = [{'id': '1', 'item_name': 'abc'}, {'id': '2', 'item_name': 'xyz'}, {'id': '3','item_name': 'pqr'}];
var data = {};
$scope.data = {};             
$scope.increment_nos = function (index) {
//I want to increase value of nos while click on corresponding button near nos textbox                    
}             
}])
  

Ответ №1:

Сначала вы должны связать отдельное значение с каждым текстовым полем

 ng-model="items[$index].nos"
  

и после этого в контроллере увеличьте это значение следующим образом:

 $scope.increment_nos = function (index) {
    items[index].nos = items[index].nos   1;
}
  

но сначала установите начальные значения nos равными 0