Динамический размер jqGrid Добавить / Изменить поля формы - PullRequest
0 голосов
/ 21 августа 2011

У меня есть jqGrid с несколькими полями выбора и текстовыми полями. Я хотел бы, чтобы все поля формы были одинаковой длины. Я хотел бы, чтобы все поля формы имели размер самого широкого поля выбора или текстового поля. Есть ли способ, которым я могу это сделать?

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 21 августа 2011

Вы можете использовать событие afterShowForm , чтобы получить ширину самого широкого поля выбора и установить ширину всех выделений в значение.

Изменение demo стандартная форма редактирования / добавления от

enter image description here

до

enter image description here

Соответствующий код:

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});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...