2011-08-21 93 views
0

我有一個有多個選擇框和文本字段的jqGrid。我希望所有的表單域長度相同。我希望所有的表單字段都是最寬的選擇框或文本字段的大小。有沒有辦法可以做到這一點?動態調整大小jqGrid添加/編輯表單字段

感謝您的幫助。

回答

2

您可以使用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});