列の1つに「UpdateTime」とあるjqgridが1つあります。私はそれにフィルターを適用し、以下のコードを使用して DateRangePicker ポップアップを完全に取得しています。
{name:'updateTime',index:'updateTime',width:90,hidden:false,search:true,align:'center',stype:"text",
searchoptions:{dataInit:function(el){
$(el).daterangepicker({
dateFormat:'mm/dd/yy',
beforeShow: function(input, inst) {
$.datepicker._pos = $.datepicker._findPos(input);
$.datepicker._pos[0] = center;
$.datepicker._pos[1] = center;
},
onClose: function(event) {
jQuery("#myGrid").trigger("reloadGrid");
}
});
}
}
},
私は持っている
$("#myGrid").jqGrid('filterToolbar', {autoSearch:true,searchOnEnter:true});
問題は、フィルターのテキストボックスに値が入力されている日付を選択すると、コントロールが Java コードに届かないことです。代わりに、フィルター テキスト ボックスをもう一度選択して、Enter キーを押す必要があります。次回、daterangepickerポップアップから日付を選択すると、Javaコードに制御が移りますが、最新の値にはなりません。最新の値を取得するには、毎回エンターを押さなければなりません。
それで、日付の選択でコントローラーを呼び出す方法はありますか、または日付の選択後にフィルターテキストボックスに自動フォーカスして、毎回Enterキーを押すことができますか. Enterキーを押しても問題ありません。
以下のコードでも試しました
onSelect: function (dateText, inst) {
$("#myGrid")[0].trigger("reloadGrid");
}