Search code examples
angularjsionic-frameworkangular-ngmodel

cannot set multiple ion-option as selected with ngModel binding?


I am using ionic and I am trying to edit a form where this select option has multiple values. This code is not setting the options to selected. What is wrong?

list_of_house is a array example list_of_house = ['house1','house2','house3];

    <ion-label>House:</ion-label>

                            <ion-select ngModel={{list_of_house}} #house name="house" multiple="true">

                            <ion-option value='house1'>house1</ion-option>
                            <ion-option value='house2'>house2</ion-option>
                            <ion-option value='house3'>house3</ion-option>
                            <ion-option value='house4'>house4</ion-option>
                            <ion-option value='house5'>house5</ion-option>
                            <ion-option value='house6'>house6</ion-option>
                            <ion-option value='house7'>house7</ion-option>
                            <ion-option value='house8'>house8</ion-option>
                            <ion-option value='house9'>house9</ion-option>
                            <ion-option value='house10'>house10</ion-option>
                            <ion-option value='house11'>house11</ion-option>
                            <ion-option value='house12'>house12</ion-option>
                            <ion-option value='house13'>house13</ion-option>
                            <ion-option value='house14'>house14</ion-option>
                            <ion-option value='house15'>house15</ion-option>
                            <ion-option value='house16'>house16</ion-option>
                            <ion-option value='house17'>house17</ion-option>
                            <ion-option value='house18'>house18</ion-option>
                            <ion-option value='house19'>house19</ion-option>
                            <ion-option value='house20'>house20</ion-option>
                            <ion-option value='house21'>house21</ion-option>


                            </ion-select>

Solution

  • In case if you are using ionic v1 then you check box control for multiple options and to bind all the options with the model as below for eg.

    <ion-checkbox ng-model="list_of_house.house1">House1</ion-checkbox>
    

    In case of ionic 2 use below :

    <ion-list>
      <ion-item>
        <ion-label>Toppings</ion-label>
        <ion-select [(ngModel)]="toppings" multiple="true" cancelText="Nah" okText="Okay!">
          <ion-option value="bacon" selected="true">Bacon</ion-option>
          <ion-option value="olives">Black Olives</ion-option>
          <ion-option value="xcheese" selected="true">Extra Cheese</ion-option>
          <ion-option value="peppers">Green Peppers</ion-option>
          <ion-option value="mushrooms">Mushrooms</ion-option>
          <ion-option value="onions">Onions</ion-option>
          <ion-option value="pepperoni">Pepperoni</ion-option>
          <ion-option value="pineapple">Pineapple</ion-option>
          <ion-option value="sausage">Sausage</ion-option>
          <ion-option value="Spinach">Spinach</ion-option>
        </ion-select>
      </ion-item>
    </ion-list>