как создать раскрывающийся список syncfusion в angularjs

Я использую раскрывающийся список syncfusion. Я хочу создать раскрывающийся список для группы крови в своей форме. Как я могу сделать это в angularjs?

<input type="text" ej-dropdownlist e-datasource="BloodGroup_List" e-value="Name" ng-model="employee.bloodgroup">

В моем контроллере я написал,

$scope.bloodgroup = [{ "Id": "1", "Name": "O+" },
                                  { "Id": "2", "Name": "O-" },
                                  { "Id": "3", "Name": "A+" },
                                  { "Id": "4", "Name": "A-" },
                                  { "Id": "5", "Name": "B+" },
                                  { "Id": "6", "Name": "B-" },
                                  { "Id": "7", "Name": "AB+" },
                                  { "Id": "8", "Name": "AB-" }];

    $scope.BloodGroup_List = $scope.bloodgroup;

Приведенный выше код не работает, где я не прав?


person Neha    schedule 03.03.2015    source источник


Ответы (3)


Вам необходимо сопоставить источник данных с соответствующими атрибутами в свойстве «поля».

<input type="text" id="bloodgroup" ej-dropdownlist e-datasource="BloodGroup_List" e-fields-text="Name" e-fields-value="Name" e-fields-id="Id" e-value="value">

В сценарии введите «ejAngular» и укажите свои значения, как показано ниже.

    angular.module('DropCtrl', ['ejangular'])
       .controller('DropDownCtrl', function ($scope) {
           $scope.bloodgroup = [{ "Id": "1", "Name": "O+" },
                      { "Id": "2", "Name": "O-" },
                      { "Id": "3", "Name": "A+" },
                      { "Id": "4", "Name": "A-" },
                      { "Id": "5", "Name": "B+" },
                      { "Id": "6", "Name": "B-" },
                      { "Id": "7", "Name": "AB+" },
                      { "Id": "8", "Name": "AB-" }];
           $scope.BloodGroup_List = $scope.bloodgroup;
           $scope.value = "AB-";
       });

Это сработает для вас.

person Hari Krishnan    schedule 09.03.2015

Попробуй это..

<select ng-model="selectedItem">
        <option ng-repeat="bloodgroupvalue in bloodgroup" value="{{bloodgroupvalue.Id}}">{{bloodgroupvalue.Name}}</option>
      </select>

or

<select ng-model="selectedItem" ng-options="bloodgroupvalue.Name for bloodgroupvalue in bloodgroup">
      </select>
person Deenadhayalan Manoharan    schedule 03.03.2015

Вам нужно использовать e-fields-text="Name", чтобы отобразить текст в раскрывающемся списке, тогда он привяжет значение к этому ng-model

HTML

<input id="test" type="text" ej-dropdownlist e-datasource="BloodGroup_List" e-fields-text="Name" 
e-fields-value="Name" ng-model="employee.bloodgroup" e-change="selectedBloodGroup"/>

КОД

$scope.selectedBloodGroup = function(args) {
    $scope.employee.bloodgroup = args.value;
    $scope.$apply();
};

Рабочий Plunkr

person Pankaj Parkar    schedule 03.03.2015
comment
@Tejaswini тебе помогло? - person Pankaj Parkar; 05.03.2015