0

私は Angular.js 1.2 を使用しており、ngTable のセルで Select 入力を使用しようとしています。オプション リストは表示されますが、ngModel ディレクティブは表示する項目を選択していないようです。

これは、現時点で私のテーブルがどのように見えるかです。

    <table class="col-xs-12 table" data-ng-table>
        <tr data-ng-repeat="task in template.tasks">
            <td data-title="'Category'">
                <select class="form-control template-task-category" data-ng-model="task.categoryId" data-ng-options="category.description for category in taskCategories track by category.id"></select>
            </td>
            <td data-title="'Description'">
                <input class="form-control template-task-description center-block" data-ng-model="task.description"/>
            </td>
            <td data-title="'Default Role'">
                <select class="form-control" data-ng-model="task.defaultRoleId" data-ng-options="role.Name for role in roles track by role.id"></select>
            </td>
            <td data-title="'Est. Hours'">
                <input class="form-control template-task-hours center-block" data-ng-model="task.estimatedHours"/></td>
            <td data-title="'Order'"><input class="form-control template-task-sort center-block" data-ng-model="task.sortOrder"/>
            </td>
            <td data-title="'Remove'">
                <a href="#" class="glyphicon glyphicon-remove" onclick="return false;" data-ng-click="removeTask(task)"></a>
            </td>
        </tr>
    </table>

カテゴリとデフォルトの役割の列は常に選択されていないドロップダウンとして表示され、直接表示するtask.categoryIdtask.defaultRoleId、オプション リストの一部である値が表示されます。ここでさらに何かする必要がありますか?

編集

これが例です。私が期待していたのは、ドロップダウンで関連する値が選択されることでした。http://plnkr.co/edit/9DkSQT?p=preview

4

1 に答える 1

0

私はそれを考え出した。ng-model は、ID を保持するプロパティだけでなく、関連付けられたオブジェクトの完全なインスタンスを指す必要がありました。私のクラスでは、Id フィールド (データベース テーブルを模倣したもの) と関連するインスタンスの両方がありました。インスタンスへのバインド (task.categoryId ではなく task.taskCategory) で修正されました。

于 2014-07-25T15:51:19.843 に答える