2016-06-13 2 views
0

입력 상자가 하나 있습니다. 스캐너에서 작업 할 때 뭔가를 스캔 할 때 자동 입력 번호가 필요합니다. 이제 자동으로 해당 값을 일부 변수에 할당하고 삭제하여 다른 입력을 얻을 수 있습니다. 어떤 아이디어?데이터를 입력 한 후 입력 필드를 재설정합니다

HTML

<ion-view hide-nav-bar="true"> 
    <ion-content class="padding"><br> 

    <label class="item item-input"> 
     <input type="number" ng-model="code" id="code" name="theInput" auto-focus> 
    </label> 

    <div class="tt"><br><br> 
     Code : <span class="art">{{code}}<br><br></span> 
    </div><br> 

    <button ng-click="clear(code)" class="button button-positive"> 
    Clear 
    </button> 
    </ion-content> 
</ion-view> 

JS

.controller('PriCtrl', function($scope) { 

    window.onload = function() { 
     document.getElementById("code").focus(); 
    }; 


    $scope.clear= function(code){ 

    $scope.val = code; 

    document.getElementById("code").value = ''; 

} 
+0

스캐너가 입력 끝에서 "돌아 가기"문자를 보내십니까? 일반적으로 사용합니까? 그렇다면 이것은 form을 submit 할 것이므로,'ng-submit'을 폼에 추가하여'$ scope.code'를 읽고, 그것으로 무언가를 한 다음, 그것을 공백으로 리셋 할 수 있습니다. – Rhumborl

답변

0

한 라인 변화

당신이 변수가있는 경우 어떻게 각도 데이터 바인딩

을 노력에 대해 읽어야

$scope.clear= function(code){ 
$scope.val = code; 
$scope.code = ''; //ng-model of input is code 
} 
0

sc 보기에서 액세스 할 수 있습니다. 컨트롤러 측에서 변수 값을 수정하면 뷰가 자동으로 업데이트되고 반대의 경우도 마찬가지입니다. http://plnkr.co/edit/u3loqpxYIBMX65O9FXGD?p=preview

: 이것은 plunker 엄격히 같은 $scope.code = '';


같다

`document.getElementById("code").value = '';` 

:

당신만큼 당신이 할 수있는이 같은 컨트롤러에서 DOM을 조작하는 등의 jQuery를 사용하지 않아야합니다

입력을 저장할 어레이를 만듭니다.

JS :

var app = angular.module('app', []); 

app.controller('MainCtrl', function($scope) { 

    $scope.selected = [] ; 
    $scope.code = null ; 
    $scope.next = function(){ 
    $scope.selected.push($scope.code); 
    $scope.code = null 

    } 
}); 

HTML : 각도에서

<body ng-controller="MainCtrl"> 

<ion-view hide-nav-bar="true"> 
    <ion-content class="padding"><br> 

    <label class="item item-input"> 
     <input type="number" ng-model="code" id="code" name="theInput" auto-focus> 
    </label> 

    <div class="tt"><br><br> 
     Code : <span class="art">{{code}}<br><br></span> 
    </div><br> 

    <button ng-click="next()" class="button button-positive"> 
     scan next 
    </button> 
    </ion-content> 
</ion-view> 

<pre>{{selected|json}}</pre> 


</body> 
+0

괜찮습니까? 버튼없이 자동화 할 수있는 방법이 있습니까? 다음과 같습니다 : number scaned - 숫자 저장, clear(); – Mark

+0

예, 반드시 @ C14L 응답을 참조하십시오. 스캐너가 입력 내용 만 채우고 있습니까? – AlainIb

+0

예, 조언없이 작동하지 않습니다. – Mark

0

document.getElementById("code").value = ''; 같은 것을하지 않을하려고합니다.

변수를 변경하려면 code 변수 만보고 새 값을 얻으면 값 목록에 복사 한 다음 code에서 값을 삭제하십시오.

.controller('PriCtrl', function($scope) { 
    $scope.$watch('code', function(newVal, oldVal) { 
     if (newVal != '') { 
      $scope.codelist.push(newVal); 
      $scope.code = ''; 
     } 
    }); 
} 
관련 문제