2016-10-04 2 views
0

Привет, все, у меня есть это раскрывающееся меню с несколькими вариантами. Я хотел, чтобы это передавалось через angularjs через объекты JSON. Синус Я новичок в угловой, как я их передаю. Также я хочу иметь значения SkillId и SkillName.Как передать объекты JSON через множественный выбор с помощью angularjs

Это HTML форма

<div class="form-group"> 
    <label class="col-lg-2 col-md-3 control-label">Skills</label> 
    <div class="col-lg-10 col-md-9"> 
     <select id="emp-skills" class="form-control" name="skills" multiple="multiple" ng-model="skills.skillList"> 
      <option></option> 
      <option ng-repeat="skill in skills" value="{{skill.SkillId}}">{{skill.SkillName}}</option> 
     </select> 
    </div> 
</div> 

Это является controller.js

$scope.register = function (isValid) { 
if (isValid) { 

      var empDetails = { 
       'employeedetails': { 
        Fname: $scope.registDetails.Fname, 
        Lname: $scope.registDetails.Lname, 
        Date_of_Birth: $scope.registDetails.Date_of_Birth, 
        Nic: $scope.registDetails.Nic, 
        Gender: $scope.registDetails.Gender, 
        Email: $scope.registDetails.Email, 
        Mobile_no: $scope.registDetails.Mobile_no, 
        Designation: $scope.registDetails.Designation, 
        Date_of_join: $scope.registDetails.Date_of_join, 
        Department_name: $scope.registDetails.Department_name 
       }, 
       'qualification': $scope.records, 
       'address': { 
        Addr1: $scope.registDetails.Addr1, 
        Addr2: $scope.registDetails.Addr2, 
        Addr3: $scope.registDetails.Addr3, 
        Addr4: $scope.registDetails.Addr4 
       }, 
       'skills':$scope.skillList 
      }; 

      console.log(empDetails); 

       UserService.Register(empDetails, function (res) { 
       EMPID = (res.data); 
       console.log(res.data); 


     } 

и формат JSON для навыков

$scope.skills = [ 
    { 
     "SkillId":1, 
     "SkillName":"C#" 
    }, 
    { 
     "SkillId":2, 
     "SkillName":"Angular" 
    }, 
    { 
     "SkillId":3, 
     "SkillName":"web development" 
    } 
] 

помощь была бы оценена я были теперь борется за часы. :(

+0

мы можем иметь полный контроллер и JSON, пожалуйста? –

+0

вы только получите имя навыка в вашем случае – Chetan

+0

использование нг -options вместо этого. – Chetan

ответ

1

Пожалуйста, попробуйте this- используемые нг-параметры

angular.module('app',[]).controller('ntCntr',function($scope){ 
 
$scope.skills = [{"SkillId":1,"SkillName":"C#"},{"SkillId":2,"SkillName":"Angular"},{"SkillId":3,"SkillName":"web development"}] 
 

 
$scope.selectionChanged= function(values){console.clear();console.log(values)} 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script> 
 
<div class="form-group" ng-app="app"> 
 
    <label class="col-lg-2 col-md-3 control-label">Skills</label> 
 
    <div class="col-lg-10 col-md-9" ng-controller="ntCntr"> 
 
     <select id="emp-skills" class="form-control" name="skills" multiple="multiple" ng-options="skill as skill.SkillName for skill in skills track by skill.SkillId " ng-change="selectionChanged(skills.skillList)" ng-model="skills.skillList"></select> 
 
     {{skills.skillList}} 
 
    </div>

+0

Как получить значение для 'var empDetails = {'skills': <>}' в контроллере? –

+0

, когда вы хотите его отправить кнопку или любое другое событие ?? – Chetan

+0

, когда '$ scope.register() {}', который является функцией в кнопке, запускается, все в 'var empDetails' должно перейти к' Userervice.Register (empDetails) {} ' –

Смежные вопросы