Slaven Tomac
Slaven Tomac

Reputation: 1550

Kendo MultiSelect update of ngmodel

I'm trying to add one button for adding values to ngmodel of kendo's multi select:

<div ng-controller="MyCtrl">
  <select id='my' kendo-multi-select k-options="selectOptions" k-ng-model="selectedIds"></select>
  <p ng-show="selectedIds.length">Selected: {{ selectedIds }}</p>
  <button ng-click="addSelectedId()">Add selected id</button>
  <input ng-model="enteredId" />
</div>

Here is controller

  function MyCtrl($scope) {
      $scope.selectOptions = {
          placeholder: "Select products...",
          dataTextField: "ProductName",
          dataValueField: "ProductID",
          autoBind: false,
          dataSource: {
              type: "odata",
              serverFiltering: true,
              transport: {
                  read: {
                      url: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products",
                  }
              }
          }
      };
      $scope.selectedIds = [ 4, 7];
       $scope.addSelectedId = function() {
          $scope.selectedIds.push(parseInt($scope.enteredId));
          console.log($scope.selectedIds);
       };
  }

Plunker is here:

http://plnkr.co/edit/EH0EaMhFsV2JTdwpkqGg?p=preview

When added to selectedIds, nothing gets added to dropdown select placeholder. Any ideas?

Upvotes: 4

Views: 3723

Answers (1)

Vignesh
Vignesh

Reputation: 1046

You need to add k-rebind="selectedIds" in your html code

HTML:

<div ng-controller="MyCtrl">
  <select id='my' kendo-multi-select k-options="selectOptions" k-ng-model="selectedIds" k-rebind="selectedIds"></select>
  <p ng-show="selectedIds.length">Selected: {{ selectedIds }}</p>
  <button ng-click="addSelectedId()">Add selected id</button>
  <input ng-model="enteredId" />
</div>

Please see this updated plunker example

Upvotes: 3

Related Questions