jqgrid — как мне получить ссылку на элемент edittype столбца при событии resizeStop?

#jqgrid #resize

#jqgrid #изменить размер

Вопрос:

основная цель: после изменения размера мне нужно изменить ширину элемента внутри ячейки. например, edittype=»select»

вот сценарий: 1) есть jqgrid, имеет столбцы, скажем, в столбце 3 есть edittype=»select». 2) пользователь изменяет размер столбца 3 3) после изменения размера событие resizeStop(newwidth, index) 4) внутри resizeStop требуется получить ссылку на все элементы select данного индекса. Затем измените его соответствующим образом.

проблема: я не знаю, как реализовать число 4… пожалуйста, направьте меня или дайте мне подсказки для расследования. заранее благодарю.

Ответ №1:

Посмотрите на метод getCol, возможно, это то, что вам нужно.

Ответ №2:

             resizeStop: function (newwidth, index) {
                var selectedRowId = jQuery("#jqgridElementId").getGridParam('selrow');
                if(selectedRowId) {
                    //resize combobox proportionate to column size
                    var selectElement = $('[id="'   selectedRowId   '_'   (index-1)   '"][role="select"]');
                    if(selectElement.length > 0){
                        $(selectElement).width(newwidth);
                    }
                }
            },
            onSelectRow: function(id){
                if(id ){

                    //resize combobox proportionate to column size
                    var rowSelectElements = $('[id^="'   id   '_"][role="select"]');
                    if(rowSelectElements.length > 0) {
                        $(rowSelectElements).each(function(index, element){
                            var name = $(element).attr('name');
                            var columnElement = $('#jqgridElementId_'   name);
                            if(columnElement.length > 0) {
                                var columnWidth = $(columnElement).width();
                                $(element).width(columnWidth);
                            }
                        });
                    }
                }
            }