フォームフィールドのフォーカスイベントを定義して、選択するオプションを含むJqueryUIダイアログを開きます。中断のないデータ入力のために、同じフィールドに焦点を合わせておく必要があります。私の要件は、datepickerで示されているものと同じです。ユーザーには、datepickerオーバーレイが表示されますが、ユーザーが日付を入力し続けることができるように、フォーカスは日付フィールドに留まります。
関連するフィールドとダイアログのコードは次のとおりです。
$( "#pmt_code" ).focus(function(){
$( "#pmtcodes" ).dialog( "open" );
// Keep focus stayed on this field somehow
});
$( "#pmtcodes" ).dialog({
autoOpen: false,
position: { my: "left top", at: "left bottom", of: $("#pmt_code") },
closeOnEscape: true,
open: function(){
listPmtCodes();
}
});
これがテーブル付きのDialogDivです。jquerydatatableプラグインを使用してこのテーブルにデータを入力しています。
<div id="pmtcodes" title="payment Codes">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="pmtCodesTable">
<thead>
<tr>
<th>Code</th>
<th>Description</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>