Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   кальулятор ( вывод с button в input) (https://javascript.ru/forum/angular/69587-kalulyator-vyvod-s-button-v-input.html)

shoopik 04.07.2017 18:50

кальулятор ( вывод с button в input)
 
:) Здравствуйте, не подскажите как сделать такую фичу ?
если ставлю
<input type="text"  >{{formula.join('')}}</input>

результат выходит справа от инпута, как засунуть его прямо во внутрь ?

Если сую через ng-model, то тогда с клавиатуры не получается писать там.
<input type="text" ng-model="formula.join('')"></input>


Так же возникает ошибка [ngModel:nonassign] со старта, и при вводе с клавы - this.$$ngModelSet is not a function

destus 04.07.2017 21:06

а так?
ng-value="{{formula.join('')}}"

shoopik 04.07.2017 23:22

Цитата:

Сообщение от destus (Сообщение 457579)
а так?
ng-value="{{formula.join('')}}"

неа, в поле то писать могу, но калькулятор не работает:

<div class="container" ng-controller="calcCtrl">
	<div class="content">
	
	<br>
	<input type="text" ng-value="{{formula.join('')}}">
	
    <button class="btn_calc" ng-click='add(7)'>7</button>
    <button class="btn_calc"  ng-click='add(8)'>8</button>
    <button class="btn_calc" ng-click='add(9)'>9</button>
    <button class="btn_calc" ng-click='add("/")'>/</button>
    <br>
    <button class="btn_calc" ng-click='add(4)'>4</button>
    <button class="btn_calc" ng-click='add(5)'>5</button>
    <button class="btn_calc" ng-click='add(6)'>6</button>
    <button class="btn_calc" ng-click='add("*")'>*</button>
    <br>
    <button class="btn_calc" ng-click='add(1)'>1</button></td>
    <button class="btn_calc" ng-click='add(2)'>2</button></td>
    <button class="btn_calc" ng-click='add(3)'>3</button></td>
    <button class="btn_calc" ng-click='add("-")'>-</button></td>
    <br>
    <button class="btn_calc" ng-click='add(0)'>0</button>
    <button class="btn_calc" ng-click='add(".")'>.</button>
    <button class="btn_calc" ng-click='add("+")'>+</button>
    <button class="btn_calc" ng-click="eval()">=</button>
    <br>
    <button class="btn_clear" ng-click="remove()">CLEAR</button>
    
	</div>
</div>


app.controller('calcCtrl',  function($scope) {
    $scope.formula = ['0'];
	$scope.add = function(item) {
    if ($scope.formula == '0') $scope.formula = [item];
    else $scope.formula.push(item);
};
    $scope.remove = function() {
    $scope.formula.pop();
    if($scope.formula.length == 0) $scope.formula = ['0'];
};
    $scope.eval = function() {
    var result = eval($scope.formula.join(''));
    $scope.formula = [result];
};
 	
    });

ksa 07.07.2017 09:56

Цитата:

Сообщение от shoopik
как засунуть его прямо во внутрь ?

Поменять значение того инпута...
Цитата:

Сообщение от shoopik
<input type="text"  >{{formula.join('')}}</input>

У инпута нет закрывающего тега. :no:
Для xhtml используют так
<input type="text"  />

shoopik 07.07.2017 14:57

Цитата:

Сообщение от ksa (Сообщение 457903)
Поменять значение того инпута...

Каким образом ?

ksa 07.07.2017 16:02

Цитата:

Сообщение от shoopik
Каким образом ?

Любым, доступным тебе способом... :D


Часовой пояс GMT +3, время: 07:58.