2017-05-12 12 views
0

마녀에서 AngularJ 드롭 다운을 사용하는 경우 일부 조건에 따라 선택한 값을 설정합니다. 드롭 다운 작업은 유일한 문제이지만, 아무런 조치도 취하지 않으면 양식을 제출하면 dinamically 선택한 기본값을받지 못할 것입니다. 요소 검사에서 AngularJs Dropdown이 선택된 기본값을 보내지 않음

<!-- Payment Page --> 
    <div class="form-group"> 
     <label class="control-label">Payment Page *</label> 
     <select name="payment_page" class="form-control" ng-model="invoice_data.form_data.payment_page"> 
      <option ng-repeat="p_page in invoice_data.data.payment_pages" value="{{ p_page.id }}" ng-selected="(p_page.id === invoice_data.form_data.payment_page || p_page.default)"> 
      {{ p_page.name }} 
      </option> 
     </select> 
    </div> 
    <!-- /End Payment Page --> 

의 드롭 다운이 옵션은 값이다 등등하지만, 양식을 제출 한 후 내가 선택한 값을받지 못한이 좋아 보인다. 내가 변경하면 드롭 다운 선택 및 양식을 제출, 나는 값을 받지만 기본적으로 하나의 아니오.

답변

1

나는 PHP에 관해 모른다. 그러나 추측 할 수 있습니다. 이는 드롭 다운이 그대로 유지되어 ngModel이 아무런 가치를 얻지 못하기 때문입니다. 양식 제출시 기본값을 얻지 못합니다. 솔루션의 경우 :

당신은 컨트롤러 또는 HTML에서이 방법을 수행 할 수 있습니다 초기화 NG 모델의 HTML을 사용 NG-초기화 지침에서

1) 값을 기본값으로. 그 다음 기본 값을 추가 null의 경우 컨트롤러에서

ng-init="invoice_data.form_data.payment_page = p_page.default "> 

2) 양식은 널 (null) ngModel에서 값을 선택하거나 드롭 다운 손길이 닿지 않은에 대한 검사를 제출할 때.

1
시간과 응답을 ... 내가 컨트롤러에서이 방법을 수행 한 제니

감사 :

angular.forEach(response.data.payment_pages, function(value, key) { 
    if (value.default) { 
    $scope.invoice_data.form_data.payment_page = value.id; 
    } 
});