2017-11-20 2 views
0

기본적으로 선택 상자에서 첫 번째 옵션을 선택하고 싶습니다. 도전 과제는 페이지가 동적으로 생성 될 때 여러 개의 선택 상자가있을 수 있다는 것입니다.동적으로 만들어진 '선택'상자의 첫 번째 값을 선택하십시오.

내 코드를보고 내가 무엇을 달성하려고하는지 이해하게 될 것입니다.

HTML :

<form class="form-inline"> 
    <div class="form-group form-group-grid" ng-repeat="fields in selectedTabData.requiredField" ng-switch="fields.paramType"> 
     <label>{{fields.paramName}}<span class="asterisk" ng-if="fields.mandatory==true">*</span></label> 
     <input type="text" class="form-control" ng-switch-when="Text" ng-model="fields.fieldValue" ng-attr-id="{{fields.paramName}}Id"> 
     <select class="form-control" ng-switch-when="DropDown" ng-options="field.paramKey as field.paramValue for field in fields.paramData" ng-model="fields.fieldValue" ng-attr-id="{{fields.paramName}}Id"> 
     </select> 
    </div> 
    <div class="form-group"> 
     <button type="submit" class="btn btn-primary form-inline-grid-button" ng-click="getReport()">Run Report</button> 
    </div> 
</form> 

선택된 데이터가 가변처럼에 컨트롤러 $scope.selectedTabData.requiredField

는 I 선택된 값을 푸시 모델에서 사용할 수있다 : I 시도

$scope.selectedTabData.requiredField.forEach(function(item) 
     { 
       paramValue.push(item.fieldValue); 
       paramName.push(item.paramName); 
}) 

이렇게 :

<select class="form-control" ng-switch-when="DropDown" ng-options="field.paramKey as field.paramValue for field in fields.paramData" ng-model="fields.fieldValue" ng-init="fields.fieldValue = fields.paramData[0]" ng-attr-id="{{fields.paramName}}Id"> 
            </select> 

어떻게 작동 될지 잘 모르겠습니다. 아무도 이것으로 나를 도울 수 있습니까?

+0

어쩌면이 도울 수 있는가? https://stackoverflow.com/a/18195305/5751251 – DSCH

+0

나는 이미 그것을 시도했다고 생각합니다. ng-init = "fields.fieldValue = fields.paramData [0]" – Phoenix

+0

이것은 나에게 효과가 없었습니다. – Phoenix

답변

1

당신이

<select ng-model="fields.fieldValue"> 
    <option ng-repeat="field in fields.paramData" value="{{field.paramKey}}"> 
     {{field.value}} 
    <option> 
</select> 

및 컨트롤러

이 줄

$scope.fields.fieldValue = x; 

이 예에서는 추가 태그 안에 ng를 반복하여 가능하게 할 수 x는 당신이 원하는 "field.value"입니다 기본 선택 옵션으로

+0

$ scope.selectedTabData.requiredField.forEach (function (item) { item.fieldValue = item.paramData [0] .paramValue; } – Phoenix

+0

어떻게해야합니까? 위의 코드가 저를 위해 작동하지 않습니다 – Phoenix

+0

신경 쓰지 마세요. 여전히 HTML에 Ng-init을 가지고 있습니다. 왜 작동하지 않는지. 나는 그것을 제거한 다음, voilà ... 많이 고마워. – Phoenix

관련 문제