selectize.js icon indicating copy to clipboard operation
selectize.js copied to clipboard

Limit minimum input items to 1 (Opposite of maxOptions)

Open philipyoungg opened this issue 8 years ago • 9 comments

I did:

  • [x] Search for if my issue has already been submitted
  • [ ] Make sure I'm reporting something precise that needs to be fixed
  • [x] Give my issue a descriptive and concise title
  • [x] Create a minimal working example on JsFiddle or Codepen (or gave a link to a demo on the Selectize docs)
  • [x] Indicate precise steps to reproduce in numbers and the result, like below

I made an app that use selectize for user input. Desktop only, and it's on http://typography.philipyoungg.com In short, is there any API to limit selectize value to 1 (no empty input)? or if there wasn't, can I hack this somehow?

I've tried to add keydown listener and use jQuery e.stopImmediatePropagation(), but it's not working—because the listener instantiated afterwards.

Any help would be appreciated.

philipyoungg avatar Dec 31 '16 10:12 philipyoungg

I just came accross this when looking for a minItems options. Is there a chance a minItems options will be implemented?

fabiangehring avatar Feb 08 '18 08:02 fabiangehring

I think this would be great feature :)

Joozty avatar Apr 25 '18 14:04 Joozty

closing stale issues older than one year. If this issue was closed in error please message the maintainers. All issues must include a proper title, description, and examples.

risadams avatar Nov 30 '20 17:11 risadams

I do think this would be very useful. Seems to be a commonly googled question.

daattali avatar Feb 26 '21 22:02 daattali

@risadams This should be reopened unless it is a duplicate. Request seems to be pretty clear and relevant, unless there is an alternative way to achieve this.

byapparov avatar Jul 07 '21 16:07 byapparov

I opened a new issue #1642 since this is closed

daattali avatar Jul 07 '21 22:07 daattali

Reopening. I do think this has merit, but can see issues in execution.
a) What happens when there are no options in the list? b) what should the initial state be? c) Should this prevent removing the final item? should default to the first option? d) Is this a feature that controls behavior, or only validation on a form submit.

Side note. we would totally welcome a pull request

risadams avatar Jul 08 '21 10:07 risadams

Very valid quesstions. The next time I find a usecase where I need this feature, it would be easy for me to answer. Hopefully others who want this can chime in.

daattali avatar Jul 08 '21 11:07 daattali

Hi, I indeed found this issue by an initial google search. To add some thoughts, I think it would be great if minOptions n could also assume non-1 positive integer values (i.e. I want n=3 minimum options to be selected at a given time)

a) What happens when there are no options in the list?

Given my above comment, if the number of options in the list are < n, I think an error would be acceptable.

b) what should the initial state be?

lst.splice(n)

c) Should this prevent removing the final item? should default to the first option?

Yes, I think users should be prevented from removing the last n items

d) Is this a feature that controls behavior, or only validation on a form submit.

Controls behavior.

I'm sure there are many other use cases that do not match my own, but I wanted to share what I was hoping for when I googled for this feature.

Thank you and hi @daattali!

allisonvuong avatar Apr 15 '22 00:04 allisonvuong