【问题标题】:select2 does not autoselect when using optgroup使用 optgroup 时 select2 不会自动选择
【发布时间】:2019-10-22 10:40:36
【问题描述】:

我在 jqgrid 中使用 select2。 有些东西不能正常工作,这些是我编辑一行时的情况。

没有OPTGROUP

  1. 不带 optgroup 的标准选择(无 select2):选择将显示所选项目(我正在编辑的项目)
  2. select2 without optgroup:select 将显示所选项目(我正在编辑的项目)

与 OPTGROUP

  1. 带有 optgroup 的标准选择(无 select2):选择将显示所选项目(我正在编辑的项目)
  2. 带有 optgroup 的 select2:select 不会显示所选项目(我正在编辑的项目),但当我打开它时,我会聚焦所选项目。

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

谢谢你, 洛伦佐

【问题讨论】:

  • 首先 - 知道使用哪个版本的 jqGrid 是个好主意? - 其次,如果没有任何代码说明问题,很难获得帮助。
  • 你好托尼。对不起。我正在使用最新的 jqgrid 和最新的 select2。我创建了一个 jsfiddle,但我认为问题没有发生,因为我没有使用 ajax 和 mysql 创建我的 select2。我如何在 jsfiddle 上模拟它?无论如何,如果您检查它,我刚刚发现了另一个问题。使用标准选择我可以编辑和更改行,选择将自动更新。使用 select2 更改行时它不会更新。您可以在此处取消注释第 111-120 行:jsfiddle.net/lorife/dusqww2w
  • 如果你知道如何在 jsfiddle 上模拟 ajax 和 mysql 我可以更新演示
  • 在这个站点 (stackoverflow) 搜索 jqgrid select2 你会发现一个非常有用的帖子和解决方案
  • 我每天都在使用这个网站,但我没有找到任何关于我的问题的解决方案,这就是我在这里写的原因。我知道如何将 jqgrid 与 select2 一起使用,我在将 select2 与 optgroup 一起使用时遇到了一个特定问题,并且我编辑了一个 jqgrid 行。

标签: jqgrid jquery-select2 jquery-select2-4


【解决方案1】:

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

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

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

注意上面链接的不同之处。

更新

为了解决这个问题,您需要在 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 的演示

【讨论】:

  • 好的,谢谢。我将尝试制作一个演示,但首先我必须了解如何使用 jsfiddle 模拟 mysql 调用,因为问题似乎就在那里。我会更新你
  • 大家好,我终于成功了。这是更新的演示:jsfiddle.net/lorife/dusqww2w
  • 你好托尼。好的超时它工作。这不是很好看,因为当它用 select2 更改选择时会闪烁,但它可以工作。有什么办法解决吗?谢谢!
  • 我没有测试它,但你可以尝试使用自定义元素。更多 see here - 见编辑类型:'custom'
猜你喜欢
  • 1970-01-01
  • 2015-01-13
  • 1970-01-01
  • 1970-01-01
  • 2015-08-29
  • 2014-08-14
  • 2015-07-14
  • 2013-08-23
  • 1970-01-01
相关资源
最近更新 更多