我正在尝试在dataInit
的jqGrid中使用jQuery UI Autocomplete。我是这样做的:
{ name:'ac_fin_g', index:'ac_fin_g', width:75, editable: true, edittype: 'text',
editoptions: {
dataInit: function (elem) {
$(elem).autocomplete({
source: 'autocomplete.php',
select: function (event, ui) {
#('ac_fin_g').val(ui.item.value);
}
});
}
}}
在函数ondblClickRow
中,我像参数一样传递select
:
ondblClickRow: function (id, select) {
if (id) {
if (id !== lastSel) {
$('#list').restoreRow (lastSel);
$('#list').editRow (id, true, select);
lastSel = id;
} else {
$('#list').restoreRow (lastSel);
lastSel = "";
}
}
}
这是有效的,但仅适用于第一行。
答案 0 :(得分:1)
我认为您问题的主要原因是ondblClickRow
回调的错误使用。 ondblClickRow
回调的第二个参数是网格中行的索引。您还可以使用其他选项。最完整的ondblClickRow
回调原型包含4个参数:
// one can use ondblClickRow: function (id) { below because iRow, iCol, e are not used
ondblClickRow: function (id, iRow, iCol, e) {
var $self = $(this);
if (id !== lastSel) {
$self.jqGrid("restoreRow", lastSel);
lastSel = id;
}
$self.jqGrid("editRow", id, true);
}
editRow的第三个参数是oneditfunc
回调。使用iRow
号作为oneditfunc
回调是错误的。