2012-10-05 2 views
0

나는이 목록에서 현재 항목을 설정하고 해당 요소의 값을 편집하기 위해 텍스트 영역을 사용해야합니다. 몇 가지 제약 때문에 나는 keyup 이벤트를 사용해야하지만 그게 문제라고 생각하지 않습니다.angularjs 여러 요소를 편집하기위한 동일한 텍스트 영역

확인이 바이올린 : 1 차/2 차 버튼 http://jsfiddle.net/terebentina/Euj2C/

  1. 클릭 - 그것은 각 요소의 값으로 텍스트 영역의 텍스트를 변경 작동합니다.
  2. 텍스트 영역의 텍스트를 무언가로 변경하십시오.
  3. 첫 번째/두 번째 버튼을 다시 클릭하십시오. 텍스트 영역이 더 이상 업데이트되지 않습니다. 콘솔을 보면 요소간에 전환된다는 것을 알 수 있습니다. 더 이상 텍스트 영역이 업데이트되지 않습니다.

의견이 있으십니까? 이건 내 견과를 몰고있어! 내가 아는

답변

1

이 작업을 수행하기 위해 지침을 수정하는 더 나은 방법이 있지만, 빠른 수정으로 지금 당신은 당신의 textarea 선택한 요소의 현재 텍스트의 단지 카피 인 ngModel 값으로 바인딩을 시도 할 수 있습니다 :

당신의 current 기능 등이 함께
<textarea keyup="" ng-model="keyupText"></textarea> 

에서 :

$scope.current = function(idx) {   
    $scope.current_element = $scope.elements[idx]; 
    $scope.keyupText = $scope.current_element.value; 
    console.log('current is', $scope.current_element.value); 
} 

는 예를 들어 this fiddle를 참조하십시오.

+0

ng-model이 내 keyup 지시문 대신 me (즉시) 모델을 업데이트하기 때문에 이것은 작동하지 않습니다. 내가 말했듯이, 나는 그것을 열쇠가 필요합니다. 내 바이올린은 실제 앱에서 일어나는 일을 단순화 한 버전입니다. 앱에서 사용자가 타이핑을 멈추었을 때만 모델을 업데이트 할 필요가 있습니다. 즉, 즉시 ng-model을 사용할 수 없습니다. –

+0

나는 내 대답을 삭제하고 나중에 다시 시도해 보겠습니다. 누군가가 아마 도울 수있을 것입니다. – Gloopy

+0

비 최적 솔루션으로 업데이트되었지만 작동해야합니다 .. – Gloopy