Евгений Петров: разумеется, в данном случае это преувеличение, но если абстрагироваться от меню и представить что-то аналогичное, то такой вариант вполне реален.
Я к тому, что не стоит безапелляционно утверждать "нужно делать так", в большинстве случаев вариантов решения несколько и нужно выбирать исходя из достоинств и недостатков каждого.
Собственно, поэтому я свой вариант и добавил после вашего - чтобы была свобода выбора. Минус мне за то, что не расписал плюсы и минусы сразу.
Евгений Петров: что действительно нужно, так это понимать ограничения и достоинства выбранного способа. Если пунктов меню несколько миллионов, то регулярки лучше отложить в сторону :)
tenaro: наизусть не вспомню, но в вашем коде есть две странности:
1. map - функция, которая обходит каждый элемент коллекции и как-то его изменяет. В этом месте по логике должна быть фильтрация.
2. indexOf($(".city-list").val()) + 1 > 0 - вы специально ищете со второй буквы?
Александр Цымбал: во-первых, мы с вами на брудершафт не пили, а во-вторых, именно при общении с "ламерами", как вы их называете, и нужно использовать корректные формулировки. Опытные люди могут понять, где вы упростили, а вот новички - нет.
tenaro: я напутал, это мы у себя на это событие вешаемся, потому что логика сложнее. Вам нужно в качестве параметра "source" передать функцию и в ней реализовать вашу логику.