Twitter Bootstrapの先行入力機能を使用していて、使用したいのです.on('change', function(){...})
が、問題は、入力の値が実際に選択された値に変わる前にイベントが発生し、関数が呼び出されると、$(this).val()
関数内で値が返されることです。それは変更前にありました。イベントは2回発生しますが、2回目のみが発生します。
選択した値を返し、1回だけ実行されるように、関数を実行する方法が必要です。
Twitter Bootstrapの先行入力機能を使用していて、使用したいのです.on('change', function(){...})
が、問題は、入力の値が実際に選択された値に変わる前にイベントが発生し、関数が呼び出されると、$(this).val()
関数内で値が返されることです。それは変更前にありました。イベントは2回発生しますが、2回目のみが発生します。
選択した値を返し、1回だけ実行されるように、関数を実行する方法が必要です。
アップデータプロパティを使用します。
.typeahead({
source: namelist,
updater: function(item) {
$('#log').append(item + '<br>');
return item;
}
});
updaterは選択されたアイテムを返します選択されたアイテムを返すために使用されるメソッド。単一の引数であるアイテムを受け入れ、先行入力インスタンスのスコープを持ちます。http://twitter.github.com/bootstrap/javascript.html#typeahead
試す
$('#findname').on('keyup', function() {...});
keyup
.on('keyup', function(){...})