Я использую jqGrid и хочу интегрировать внутри JQuery datePicker. Это работало хорошо, пока я не добавил showOn: 'button' . С этим редактирование больше не работает. Я действительно хочу, чтобы всплывающее окно появлялось только при нажатии кнопки, потому что дата - это первая ячейка моей строки, и я использую встроенное редактирование, поэтому при каждом выборе строки отображается указатель даты :-(. Если я использую одни и те же параметры выбора даты вне jqGrid, это работает.
Пожалуйста, помогите
function loadGrid() {
var getUrl = 'Transactions.aspx/GridData/?fundID=' + $('#fundID').val();
var lastSel = "";
jQuery("#list").jqGrid({
url: getUrl,
editurl: 'Transactions.aspx/Edit/',
datatype: 'json',
mtype: 'GET',
colNames: ['Date', 'Invested', 'Nb Shares', 'Price'],
colModel: [
{ name: 'Date', index: 'Date', width: 120, align: 'left', editable: true,
editoptions: {
size: 10, maxlengh: 10,
dataInit: function(element) {
$(element).datepicker({ dateFormat: 'dd/mm/yy', constrainInput: false, showOn: 'button', buttonText: '...' });
}
}
},
{ name: 'Invested', index: 'Invested', width: 100, align: 'right', editable: true, edittype: 'text' },
{ name: 'NbShares', index: 'NbShares', width: 110, align: 'right', editable: true, edittype: 'text' },
{ name: 'UnitValue', index: 'UnitValue', width: 150, align: 'right', editable: true, edittype: 'text'}],
onSelectRow: function(id) {
if (id && id !== lastSel) {
jQuery('#list').restoreRow(lastSel);
jQuery('#list').editRow(id, true);
lastSel = id;
}
},
pager: jQuery('#navbar'),
viewrecords: true,
height: 'auto',
caption: 'Transactions detail'
}).navGrid('#navbar', { edit: false, add: true, del: true });
jQuery("input[type=text]").css("width", "2em");
jQuery("#navbar table").css("margin", "0");
}