次のように、ページにjqueryオートコンプリートコンボボックスを取得しました。
$.widget( "ui.combobox", {
_create: function() {
...
var input = this.input = $( "<input>" )
.insertAfter( select )
.val( value )
.autocomplete({
...
select: function( event, ui ) {
...
change: function( event, ui ) {
...
$(function() {
$("#myid").combobox();
}
onselect
およびchange
イベント ajax 呼び出しを実行し、非表示フィールドの情報を変更しますが、何かを入力し、テキスト フィールドのフォーカスを解除せずに[送信] ボタンをクリックすると問題が発生します -change
イベントがトリガーされず、サーバーで間違ったデータが取得されます (基本的には、 select-change で発生したイベントによって以前に設定された非表示フィールドのデータを取得しましたが、最新のものをキャッチしていません)。change
では、フォームを送信する前にテキスト フィールドのフォーカス解除を実行してイベントをトリガーするにはどうすればよいでしょうか。または、テキストフィールドの最新の変更をキャッチしてトリガーする他の方法があるかもしれません(変更をonkeypressイベントで置き換える)?助けてくれてありがとう。