9

I am trying to use the ui-select directive in my angularjs but it is not displaying, i tried following the documentation and this is what i did:

 <ui-select ng-model="form.gender" theme="bootstrap">
    <ui-select-choices repeat="gender in genders">
        {{ gender.name }}
    </ui-select-choices>
</ui-select>

Then I have an array of genders:

$scope.genders = [
    {
        name: 'Male'
    },
    {
        name: 'Female'
    }
];

I haven't really used this directive before so I'm a bit confused as to what i am doing wrong.

There are no errors being displayed in my browser console, i have included the module in my app as well.

I want to use it for more than a simple dropdown of genders but i figure this is a start if i can do this then i won't have any more problems. :)

Edit: So i cleared my browser cache and refreshed my page and this time i did notice an error:

Error: [ui.select:transcluded] Expected 1 .ui-select-match but got '0'.
user3718908x100
  • 7,939
  • 15
  • 64
  • 123

5 Answers5

6

just add a class named as the tag.

 <ui-select ng-model="form.gender" theme="bootstrap">
    <ui-select-choices class="ui-select-choices" repeat="gender in genders">
        {{ gender.name }}
    </ui-select-choices>
</ui-select>
Caner
  • 1,448
  • 23
  • 38
3

Error: [ui.select:transcluded] Expected 1 .ui-select-match but got '0'.

This error was fixed recently at Github page. Just update ui-select to v0.14.3.

Reference: https://github.com/angular-ui/ui-select/issues/224

Diego Mello
  • 5,220
  • 3
  • 17
  • 21
1

You must visit this link and follow its examples.

You can follow its examples

I personally prefer to use uiselect2, its more powerful and simple than uiselect

link of uiselect2

Kashif Mustafa
  • 1,152
  • 6
  • 20
  • I followed the link and saw what i did wrong however even after reading what they had there i am still clueless as to how the ui-select and ui-select-match and ui-select-choices work or what those directives even do. – user3718908x100 Sep 16 '15 at 09:36
  • Also when i try to use the 'selecticize' them i get errors: http://prntscr.com/8gx7ax – user3718908x100 Sep 16 '15 at 09:46
  • I personally prefer to use uiselect2, its so simple and powerfull than uiselect [link](https://github.com/angular-ui/ui-select2), if you got your answer , please mark it as answer :) – Kashif Mustafa Sep 16 '15 at 09:46
  • 2
    ui-select2 has been deprecated in favor of ui-select for quite some time. Not sure why you are recommending it. – ravishi Oct 14 '15 at 00:43
0

.ui-select-toggle > .caret { pointer-events: none } fixes the problem of error: [ui.select:transcluded] Expected 1 .ui-select-match but got '0'. for me

SAHbKA
  • 327
  • 1
  • 2
  • 14
0

As @Caner Çakmak said, I added a class named as tag in both ui-select-choices and ui-select-match

Ex:

<ui-select ng-model="form.gender" theme="bootstrap">
    <ui-select-match class="ui-select-match" [etc...etc....etc]>
    <ui-select-choices class="ui-select-choices" repeat="gender in genders">
    {{ gender.name }}
    </ui-select-choices>
</ui-select>

And it worked! Thanks

PS: I am using ui-select v0.19.X and Angular v1.5.X (that seems to be when this error occurs)

Lucian Sturião
  • 155
  • 1
  • 4