使用 optgroup 时 select2 不会自动选择

select2 does not autoselect when using optgroup

我正在使用 select2 和 jqgrid。 有些地方工作不正常,这些是我编辑一行时的情况。

没有OPTGROUP

  1. 标准 select(无 select2)没有 optgroup:select 将显示 selected 项目(我正在编辑的项目)
  2. select2 没有 optgroup:select 将显示 selected 项目(我正在编辑的项目)

有OPTGROUP

  1. 标准 select(无 select2)与 optgroup:select 将显示 selected 项目(我正在编辑的项目)
  2. select2 with optgroup: select 不会显示 selected 项目(我正在编辑的项目)但是当我打开它时 il 会聚焦 select编辑项目。

正如您所见#2 有效,我的问题是#4。是错误还是我遗漏了什么?

谢谢, 洛伦佐

不确定您搜索的是什么,但导航行时的问题是 described here

在你的情况下,我已经测试并且以下代码有效:

$('#grid'). jqGrid('navGrid', pager, {params},
...
  {  // edit params
     { afterclickPgButtons : function(button, form, id ) { 
        $("#name").trigger('change.select2');
     },...
  }
);

注意上面link的区别。

已更新

为了解决这个问题,您需要在 dataInit 函数中使用 setTimeout。尝试使用以下设置之一:

{
      name: "name",
      index: "name",
      autosize: true,
      searchoptions:{clearSearch:false},
      width:200,
      editable:true,          
      edittype: 'select', 
      editoptions: {         
        // Simulo la risposta di una chiamata
        // Per funzionare deve esistere più sotto 
        // ajaxSelectOptions
        dataUrl:'/echo/html/',
        postData: {
                      html: serverResponce
                  }, 
        //            
        dataInit: function(element) { 
        setTimeout(function(){
              $(element).select2({
                allowClear: false,
                // Imposto il tema bootstrap
                theme: "bootstrap4",
                dropdownAutoWidth : true,
                        width: 'auto',                  
                placeholder: 'Search...'
              });
          }, 500);
            }
      }
   }

我期待与 optgroup 进行演示