Ожидание объекта в ng-повторный выбор Angularjs

#angularjs

#angularjs

Вопрос:

Я пытаюсь завершить CRUD в своем проекте, но у меня проблема. Когда я попытался привязать к модальному EmployeeDetail.DeptID для выбора Department , но это не удалось. Вот мой код

HTML

 <div ng-model="EmployeeDetail">
            <input type="text" ng-model="EmployeeDetail.EmpName" placeholder="Name" />
            <select id="Departments" ng-selected="//Some thing in here!">
                <option ng-repeat="dept in Departments" value="{{dept.DeptId}}">{{dept.DeptName}}</option>
            </select>
            <input type="text" ng-model="EmployeeDetail.Address" placeholder="Address" />
            <input type="text" ng-model="EmployeeDetail.Email" placeholder="Mail" />

            <select>
                <option ng-selected="EmployeeDetail.Gender==true" value="true">Male</option>
                <option ng-selected="EmployeeDetail.Gender==false" value="false">Female</option>
            </select>
            <input type="text" ng-model="EmployeeDetail.YearOfBirth" />
            <button value="create" ng-click="createEmployee()" ng-show="create">Submit</button>
            <button value="update" ng-click="updateEmployee()" ng-show="update">Update</button>
            <button value="cancel" ng-click="cancelEmployee()" ng-show="cancel">Cancel</button>
        </div>
  

JS

 var loadData = function () {
    $http.get(urlE).then(function (response) {
        var obj = JSON.parse(response.data);       
        $scope.Employees = obj;
        $('#empTable').DataTable();     
    });
    $http.get(urlD).then(function(response){
        var obj = JSON.parse(response.data);   
        $scope.Departments = obj;
    })
}

loadData();

$scope.edit = function (emp) {
    $http({
        method: 'GET',
        url: urlE   "/"   emp.EmpID
    }).then(function (response) {
        var obj = response.data;
        $scope.EmployeeDetail = obj;
        console.log(obj);
        $scope.updateEmployee = function () {
            $http({ method: 'POST', url: "api/Employees/Update", data: obj }).then(function (response) {
                alert("Edit success!");
                loadData();
            });
        }
    });
}
  

Я привязываю a Employee к правильному вводу, но выпадающий список Departments не может. Я хочу привязать Employee.DeptId к select id="Departments" и показать для просмотра DepartmentsName с идентификатором. Я начинаю использовать AngularJS и кое-чего не понимаю. Можете ли вы объяснить для меня и показать мне ПРАВИЛЬНЫЙ способ сделать это? Большое спасибо!

Комментарии:

1. Является ли ваше свойство gender логическим значением с true для мужского пола и false для женского? Это кажется странным дизайнерским решением, и я полагаю, что это может расстроить некоторых людей.

2. Извините, я только вчера попробовал angularjs. И этот пол я выбираю таким образом, но думаю, что это неправильно. Можете ли вы показать мне правильный путь! Спасибо

3. Как нам решить гендерную проблему? Не тот вопрос, который я хочу решать. Вероятно, должно быть бесплатное текстовое поле, которое позволяет людям вводить свой идентифицированный пол, а не true для мужчин и false для женщин.

Ответ №1:

Использовать ng-модель и параметры

 <select id="Departments" ng-model="Employee.DeptId" ng-options="dept.DeptId as dept.DeptName for dept in Departments"></select>