2014-09-19 3 views
0

이 코드와 옵션의 내 목록에 추가 옵션을 추가하고있다 : 나는 아이템 트리가 필요 할 특정 상황에서, 이제추가 옵션

var defaultOption = { id: 0, descrip: 'Select Item Tree...' }; 
$scope.metaData.itemTrees.splice(0, 0, defaultOption); 

, 그래서

<div class="col-lg-9"> 
    <select class="form-control" name="itemTree" id="itemTree" 
      ng-model="currentSalespoint.iTreeTop" ng-required="salespointMode.needsItemTree" 
      ng-options="t.id as t.descrip for t in metaData.itemTrees"></select> 
</div> 
<div class="field-validation-error"> 
    <span ng-show="editSalespointGeneral.itemTree.$error.required && editSalespointGeneral.itemTree.$dirty">Item Tree selection is required.</span> 
</div> 

문제는 0이 유효한 선택이 아니어야한다는 것입니다. 나는 'Select Item Tree'를 선택된 옵션으로 남겨 둘 수 없다. 정말로 필요하게하려면 어떻게해야합니까?

0 대신 null을 사용하려고하면 오류가 발생하지만 '선택 ..'이 사라지고 내 드롭 다운에 빈 행이 생깁니다. 솔루션의

답변

1

하나는 HTML에 직접 빈 항목을 정의하는 것입니다 :

<select class="form-control" name="itemTree" id="itemTree" 
     ng-model="currentSalespoint.iTreeTop" ng-required="salespointMode.needsItemTree" 
     ng-options="t.id as t.descrip for t in metaData.itemTrees"> 
    <option value="">Select Item Tree...</option> 
</select> 

Plunker : http://plnkr.co/edit/7m8YYVz7HNs1OY7hRIF1?p=preview

+0

이 내가 시도 원래의 솔루션입니다하지만 문제가있다. 해당 옵션을 저장하려고하면 오류가 발생합니다. 전에 ng-required를 추가하기 전에 해당 솔루션을 시도했지만 다시 시도 할 수 있습니다. – Naomi

+0

@Naomi : "그 옵션 저장"이란 무엇을 의미합니까? – LukLed

+0

나는 우리 양식에서 Save 버튼을 눌렀을 때 그 옵션을 유지할 때 오류 (잘못된 요청)가 발생했다는 것을 의미합니다. 그러나 이것은 ng-required를 추가하기 전이었습니다 (서버 또는 JavaScript 코드에 옵션을 추가하기 시작한 이유였습니다). ng-required로 HTML 접근 방식을 사용하는 것이 절약 될 것이라고 생각합니다. – Naomi