Прежде всего вы можете использовать стиль CSS text-transform: uppercase
до отображать данные, набранные пользователем в верхнем регистре:
editoptions: { dataInit: function (el) { $(el).css('text-transform', 'uppercase'); }}
Настройка не изменит сами данные. Таким образом, вы должны сделать соответствующую модификацию дополнительно. В случае редактирования формы вы можете использовать beforeSubmit
. Например, допустим, у вас есть столбец 'name'
, который вам нужно держать в верхнем регистре. Затем вы сначала добавляете параметр text-transform: uppercase
в dataInit
(см. Выше) и добавляете
beforeSubmit: function (postData) {
postData.name = postData.name.toUpperCase();
return [true, ''];
}
В случае встроенного редактирования функция обратного вызова beforeSubmit
отсутствует. так что вы можете использовать serializeRowData
, если у вас есть удаленные данные:
serializeRowData: function (postData) {
postData.name = postData.name.toUpperCase();
return postData;
}
В случае использования editurl: 'clientArray'
вы можете исправить данные в параметре aftersavefunc
editRow
и saveRow
:
aftersavefunc: function (rowid) {
var $grid = $(this),
newName = $grid.jqGrid("getCell", rowid, 'name');
$grid.jqGrid("setCell", rowid, 'name', newName.toUpperCase());
}
См. Демо .