jqGrid add forms contains autocomplete boxes using code below. If new row is added to jqgrid, autocomplete fields are not cleared, the still show added row content. Simple t
It seems to me that the problem exist because you use custom edit control (edittype:"custom", custom_element and custom_value. The <input> element which you create has currently no id. You should follow jqGrid id conversion and create the <input> element having id equal to options.id:
function combobox_element(value, options, width, colName, entity, andmetp) {
var elemStr, newel;
if (options.id === options.name) {
// form
elemStr = '<div>' +
'<input class="FormElement ui-widget-content ui-corner-all"'+
' style="vertical-align:top"' +
' id="' + options.id + '"' +
' size="' + options.size + '" value="' + value + '"/>' +
'<button style="height:21px;width:21px;" tabindex="-1" /></div>';
} else {
elemStr = '<div>' +
'<input class="FormElement ui-widget-content "' +
' style="height:17px;vertical-align:top;width:' +
width + 'px"'+
' id="' + options.id + '_x"' +
' value="' + value + '"/>' +
'<button ' +
' style="height:21px;width:21px;" tabindex="-1" /></div>';
}
newel = $(elemStr)[0];
setTimeout(function () {
input_autocomplete(newel, colName, entity, andmetp, validate);
}, 50);
return newel;
}
UPDATED: I corrected the code above from the usage of options.id as the id of the <input> to the value options.id + "_x". The problem that the options.id will be assigned by jqGrid later to the <div> element which will be represented as newel. jQuery UI Autocomplete required that the <input> element, to which it will be connected, has an unique id so we can choose any other id as options.id to have no id duplicates.