2016-07-22 5 views
0

私のコードでは、いくつかのユーザーのレコードを記載しています。その列が1つのドロップダウンに存在するproduced byを変更する1つの列があります。私のng-changeは問題ありません。ページをリフレッシュした後、前回変更したドロップダウンが入力されませんでした。私のコードを確認してください -どのようにデフォルトの動的ドロップダウンを選択しますか?

アイデンティティ

<select name="repeatSelect" id="repeatSelect" ng-model="model_produced_by" style="width: 62px;" ng-change="change_produced_by(model_produced_by, order.Order.id)"> 
    <option value="">Select Produced By</option> 
    <option ng-repeat="option in produced_by.availableOptions" value="{{option.id}}" ng-selected="option.id == order.Order.assigned_to">{{option.name}}</option> 
</select> 

出力 -

<select ng-change="change_produced_by(model_produced_by, order.Order.id)" style="width: 62px;" ng-model="model_produced_by" id="repeatSelect" name="repeatSelect" class="ng-pristine ng-valid ng-empty ng-touched"> 
    <option value="">Select Produced By</option> 
    <option ng-selected="option.id == order.Order.assigned_to" value="1" ng-repeat="option in produced_by.availableOptions" class="ng-binding ng-scope">Outsourced</option> 
    <option ng-selected="option.id == order.Order.assigned_to" value="2" ng-repeat="option in produced_by.availableOptions" class="ng-binding ng-scope">In-House</option> 
    <option ng-selected="option.id == order.Order.assigned_to" value="3" ng-repeat="option in produced_by.availableOptions" class="ng-binding ng-scope">Local Store/Printer</option> 
</select> 

私はoption.id == order.Order.assigned_toと同じである。しかし、私のコードは動作しない値を選択します。 selectタグにng-initを使用しました。すべてのドロップダウンで最後のオプションが表示されます。確認して、どこにエラーがあるのか​​を教えてください。

enter image description here

+0

選択タグでは、ng-modelを使用します。ここでは、選択した値を保存し、それぞれのオプションに条件を設定します。ng-selected = "option.id == order.Order.assigned_to"それは不一致のようです。 –

答えて

1

あなたは単にngOptionsとngModel使用する必要があります。私には

<select id="inptAdmin" name="inptAdmin" class="form-control" 
    ng-model="res.adminUser.id" ng-options="user.id as user.name + ' - ' + user.email for user in listUser" required="required"> 
</select> 

を:選択の正しい動作のために

<select name="repeatSelect" id="repeatSelect" style="width: 62px;" 
    ng-model="order.Order.assigned_to"   
    ng-change="change_produced_by(model_produced_by, order.Order.id)" 
    ng-options="option.id as option.name for option in produced_by.availableOptions"> 
    <option value="">Select Produced By</option> 
</select> 
+0

働いています。ありがとうございます:) – Chinmay235

-1

私は角のjsを知らないが、私はあなたの問題を理解しています。何らかの形でこの操作を実行できれば、問題を取り除くことができます。私はあなたのコードを書いていたサンプルの方法は、内defferentかもしれないここで....あなたがそうすることができ、あなたの条件に従って実行時にHTMLを生成することができる場合

<select ng-change="change_produced_by(model_produced_by, order.Order.id)" style="width: 62px;" ng-model="model_produced_by" id="repeatSelect" name="repeatSelect" class="ng-pristine ng-valid ng-empty ng-touched"> 
    <option value="">Select Produced By</option> 
    <option value="1" ng-repeat="option in produced_by.availableOptions" class="ng-binding ng-scope">Outsourced</option> 
    <option ng-selected="true" value="2" ng-repeat="option in produced_by.availableOptions" class="ng-binding ng-scope">In-House</option> 
    <option value="3" ng-repeat="option in produced_by.availableOptions" class="ng-binding ng-scope">Local Store/Printer</option> 
</select> 

:あなたは、選択したオプション2のドロップダウンHTML次生成する必要があります角度:

<select name="repeatSelect" id="repeatSelect" ng-model="model_produced_by" style="width: 62px;" ng-change="change_produced_by(model_produced_by, order.Order.id)"> 
    <option value="">Select Produced By</option> 
    <option ng-repeat="option in produced_by.availableOptions" value="{{option.id}}" (option.id == order.Order.assigned_to) ? ng-selected="true":"">{{option.name}}</option> 
</select> 

これはあなたの問題を解決します。

+0

コードを作業していません。 :( – Chinmay235

0

を、あなたはこの例を見て、プロパティNG-モーダルを指定する必要がありますコントローラ私はユーザオブジェクトのリストを持っているプロパティlistUserを所有していますが、ng-optionsにはこれらのオブジェクトのidを値として使いたいと指定し、ng-modalで値を保存する場所を指定します選択します。この例では、 'res.adminUser.id'が入力されていれば、selectの対応する値を自動的に選択します。

私は助けてくれることを願っています。

関連する問題