Я использую typeahead.js, чтобы присвоить идентификатор продукта скрытому полю формы html. Это прекрасно работает, когда есть матч:JQuery: Функция Typeahead Twitter не соответствует
$('.products_tt .typeahead').typeahead
name: 'products_tt',
prefetch:
url: '/products.json',
ttl: 60 * 5e3
template: '<p><strong>{{value}}</strong> – {{year}}</p>',
engine: Hogan
$('.products_tt .typeahead').on "typeahead:selected typeahead:autocompleted", (e,datum) ->
$('#disk_file_product_id').val(datum.id)
очистить скрытое поле, когда поле ввода остается пустым:
$('.products_tt .typeahead').blur ->
if $(this).val().length == 0
$('#disk_file_product_id').val("")
Но мне также нужно очистить скрытое поле, когда текст был введен в поле ввода, но нет соответствия.
Мои навыки работы с Java/Coffeescript слабы, поэтому не уверен, как это сделать?!?
С уважением, # 1 похоже на трюк! Любопытно, как я могу быть уверен, что событие '.change' будет всегда срабатывать перед событиями .on? – Meltemi
Вы не можете, я полагаю. Код как ведет себя так, и я был бы очень удивлен, если бы он когда-либо изменился. Если бы это произошло, порядок событий был бы «выбран», а затем «изменен». По крайней мере, странно. –