2017-05-12 23 views
0

私は魔法使いのAngularJsドロップダウンをいくつかの条件に基づいて選択された値に設定しました。 ドロップダウンの作業は唯一の問題です。フォームを送信しても何もしないと、dinamicallyで選択されたデフォルト値が表示されません。検査素子においてAngularJsドロップダウンが選択されたデフォルト値を送信しない

<!-- 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つありません。

答えて

1

私はPHPについて知りません。しかし、私は推測することができます。これは、あなたのドロップダウンがそのままで、ngModelが何の価値も得られないからです。あなたのフォームを提出すると、デフォルト値は得られません。 ソリューションの場合:デフォルト値に初期化NGモデルのHTML使用NG-のinitディレクティブで

1):

あなたは、コントローラでまたはHTMLでの2方法を行うことができます。コントローラで

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

2)フォームは、それがnullの場合、デフォルト値を追加し、ngModelまたは選択ドロップダウンの手つかずでNULL値のチェックを提出するとき。

1
あなたの時間と応答のために... 私はコントローラにこの方法を行っているジェニー

ありがとう:

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