セレクトボックスに問題があります。イベントに ajax ハンドラーを割り当てましたonchange
。マウスを使えば問題なく動作します。ただし、キーを使用してオプションが変更されたときに機能する必要があります。select
オプションは変更されますが、フォーカスが失われるまで ajax 呼び出しは行われません。問題はFirefox固有のようです。
誰も私がこれを行う方法を知っていますか?
選択する onkeyup イベントを割り当ててから、変更を手動でリッスンすることができます コードを参照してください
$("#sel").change(function(){
alert("hello");
});
oldval = $("#sel").val();
$("#sel").keyup(function(){
if(oldval != $("#sel").val())
$(this).change();
});
もちろん、本番で使用する前に洗練する必要がありますが、それはスタートです。ところで、キーボードで値を変更した後にエンターを押すと、変更イベントが発生します。エンターキーを押さなかったと思います。ですから、その値は確かに不変です。むしろ、変化している状態です。したがって、ブラウザは変更イベントを発生させません。
お役に立てば幸いです。
上下の矢印は、オプションをナビゲートするためにのみ使用されますが、それらをトリガーしたい場合は、Enter キーを押す必要があります。
アップデート
実際には、Enter キーを押すか、選択ボックスからフォーカスが移動するまで、オプションはまだ選択されていません。キー イベントとマウス クリック イベントの動作は少し異なります。