Вы можете использовать событие afterShowForm , чтобы получить ширину самого широкого поля выбора и установить ширину всех выделений в значение.
Изменение demo стандартная форма редактирования / добавления от
до
Соответствующий код:
var resizeSelectWidth = function ($form) {
var maxWidth = 0, newMaxWidth = 0, i,
$selects = $form.find('tr.FormData > td.DataTD > select.FormElement'),
cn = $selects.length;
// calculate the max width of selects
for (i = 0; i < cn; i += 1) {
maxWidth = Math.max(maxWidth, $($selects[i]).width());
}
maxWidth += 2; // increase width to improve visibility
// change the width of selects to the max width
for (i = 0; i < cn; i += 1) {
$($selects[i]).width(maxWidth);
newMaxWidth = Math.max(maxWidth, $($selects[i]).width());
}
};
...
$("#list").jqGrid('navGrid', '#pager', {del: true},
{afterShowForm: resizeSelectWidth},
{afterShowForm: resizeSelectWidth});