我有一個帶有工具欄搜索啓用的JqGrid。我的一列是日期時間列,搜索字段是jQuery日期選擇器。日期選擇器的問題是你不能有一個空值,但是由於這個字段是一個過濾器,它可以是空的。所以id'like要做的是在日期選擇器旁邊添加一個小按鈕,以清除該字段。 有沒有辦法做到這一點,或能夠從客戶端清除日期選擇器。JqGrid,在工具欄搜索列中添加清除按鈕
這裏是代碼的列
{ name: 'Period', index: 'Period', align: 'center', formatter: 'date', formatoptions: { newformat: 'F, Y' }, width: '70px', search: true,
searchoptions: {
dataInit: function (el) {
$(el).datepicker({
yearRange: "-5:+1",
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM, yy',
onClose: function (dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('disable');
$(this).datepicker('setDate', new Date(year, month, 1));
$(this).datepicker('enable');
$("#jqgCompLine")[0].triggerToolbar();
},
beforeShow: function (input, inst) {
if ((datestr = $(this).val()).length > 0) {
year = datestr.substring(datestr.length - 4, datestr.length);
month = jQuery.inArray(datestr.substring(0, datestr.length - 6), $(this).datepicker('option', 'monthNames'));
$(this).datepicker('option', 'defaultDate', new Date(year, month, 1));
$(this).datepicker('setDate', new Date(year, month, 1));
}
}
});
}
},
預先感謝您的幫助!
嗨奧列格,感謝您的回答。對於日期選擇器格式,我已經從這個[post](http://stackoverflow.com/questions/2208480/jquery-date-picker-to-show-month-year-only)中獲得靈感。 – LotuX
@LotuX:不客氣!我沒有說這是錯誤的。最大的問題是輸入數據**必須**有1個日期。如果您的日期不是1,那麼用戶將看不到任何區別,搜索也將失敗。在應用錯誤修復後,您的問題現在是否已解決? – Oleg
事實上,對於使用datePicker進行搜索,我所做的是從datepicker中檢索月份和年份,並在以整個月份爲間隔創建選擇查詢之後,此工作正常。我不得不承認,我不知道datepicker可以是空的,因爲我不知道我的datpicker中有什麼強制值。 – LotuX