2016-08-18 2 views
2

나는

+0

목록의 옵션 값 배열을 얻고 싶습니다. – provola

+0

좀 더 자세히 설명해주세요. –

+0

그럼 배열에 바인딩하지 않으시겠습니까? 'ng-model = "옵션 [0]"'과 같은? –

답변

1

내가 만드는 것이 대답을 사전에 감사합니다 $ 범위 에 그 옵션 *을 모두 찾으려면이

<ul> 
     <li><input type="text" name="option1" ng-model="option1" /></li> 
     <li><input type="text" name="option2" ng-model="option2" /></li> 
    </ul> 

같은 텍스트 필드의 목록을 가지고 입력 데이터를 보유하고 html로이 배열을 반복하는 루프를 추가하는 배열. 그러면 특정 객체에 대한 범위를 검색 할 필요가 없으며 배열을 준비 할 수 있습니다.

$scope.allOptions = [ 
    {name: 'option1', text: ''}, 
    {name: 'option2', text: ''} 
]; 

: 그리고

<ul> 
    <li ng-repeat="option in allOptions"><input type="text" name="{{option.name}}" ng-model="option.text" /></li> 
</ul> 

문제는 내가 목록에서 텍스트 필드의 수를 알 수 없다는 것입니다. 응용 프로그램에는 기본적으로 두 개의 목록이 있지만 사용자가 프로그래밍 방식으로 새 옵션을 추가 할 수있는 단추가 있습니다. 따라서 Jquery를 사용하면 모든 텍스트 필드에 ng 모델의 점진적인 숫자를 추가 할 수 있습니다. 첫 번째 ng-model = option1, 두 번째 option2, ...

각도를 사용하여 다른 입력을 추가하는 것이 좋습니다.

$scope.addInput = function(){ 
    var n = $scope.allOptions.length; 
    $scope.allOptions.push({name: 'option'+(n+1), text: ''}); 
}; 

<button ng-click="addInput()">Awesomeness is here</button> 
+0

명확한 문제 -> 명확한 해결책, 이해할 수없는 점 ... 아무 단어도 추가 할 필요가 없습니다. – Damiano

+0

나는 @cale_b에 대한 설명도 필요합니다. 뿐만 아니라 코드 –

+1

물론입니다. 명확한 문제. 명확한 해결책 ** **. OP 및 향후 방문객은'ng-repeat ', 작동 방식, 문서를 찾을 위치 등을 알지 못합니다. –

-1

몇 가지 방법이 있습니다.

See this working jsFiddle

나는 당신이 그것을 한 적이 방식과 자연의 다음 단계가 될 것이며, 당신이 요청하는대로 값을 액세스 할 수 있도록 할 보여주는있어 첫 번째 방법.

첫째,과 같이, 배열로 입력을 결합 :

<ul> 
    <li><input type="text" name="option[1]" ng-model="option[0]" /></li> 
    <li><input type="text" name="option[2]" ng-model="option[1]" /></li> 
    <li><input type="text" name="option[3]" ng-model="option[2]" /></li> 
</ul> 

를 컨트롤러에 배열로 변수를 선언하는 것을 잊지 마세요 : 컨트롤러에,

$scope.option = []; 

다음 $scope.option을 통해 액세스 할 수 있습니다.

더 진보되고 더 간단하고/유지하기 쉬운 방법은 ng-repeat을 사용하는 것이 매우 강력합니다. ng-repeat documentation

사용 ng-repeat :

첫째, 객체의 배열 컨트롤러에, 그래서 같은 설정 : 다음

$scope.rOptions = [ 
    {name: 'option1', val: ''}, 
    {name: 'option2', val: ''}, 
    {name: 'monkey', val: ''} 
]; 

, 출력 할 수 있습니다 마크 업의 단순화 된 세트로 HTML :

<ul> 
    <li ng-repeat="rOption in rOptions"><input name="{{rOption.name}}" ng-model="rOption.val"></li> 
</ul> 

컨트롤러에서 $scope.rOption을 통해 값에 액세스 할 수 있습니다.

위 두 가지 작동 방식과 데이터 액세스 방법을 보려면 위의 바이올린을 확인하십시오.

관련 문제