Вопрос наверное больше по JavaScript. Столкнулся со странным поведением.
Если значение в input-е не указано, то все работает:
http://jsfiddle.net/9tehqood/
Но если задать значение, например,
<input id="search" type="text" value="Москва"/>
То вылетает ошибка Cannot read property 'state' of undefined.
Сразу скажу что конструкция с пользовательской функцией не просто так, а необходима в моей задаче, так что упростить не получится.