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'.

5 Answers 5

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>
Sign up to request clarification or add additional context in comments.

2 Comments

adding ui-select-match is also required in case you are using it
Worked for me. Problem was with class, has to be the same as derective.
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

Comments

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

4 Comments

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.
Also when i try to use the 'selecticize' them i get errors: prntscr.com/8gx7ax
I personally prefer to use uiselect2, its so simple and powerfull than uiselect link, if you got your answer , please mark it as answer :)
ui-select2 has been deprecated in favor of ui-select for quite some time. Not sure why you are recommending it.
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

Comments

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)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.