0

我尝试使用在 jqgrid 内联编辑中填充数据 url 的多项选择。这现在很好用。

但是操控不是很舒服。所以我尝试添加 Eric Hynds JQuery UI Multiselect ( http://www.erichynds.com/blog/jquery-ui-multiselect-widget )

{ editable: true, edittype: 'select', editoptions: { dataInit: function (elem) {
  setTimeout(function () {
    $(elem).multiselect({
      minWidth: 100,
      height: 'auto',
      selectedList: 2,
      checkAllText: 'all',
      uncheckAllText: 'no',
      noneSelectedText: 'Any',
      open: function() {
        var $menu = $('.ui-multiselect-menu:visible');
        $menu.width('auto');
        return;
      }
    });
 }, 50);
 }, dataUrl: '/Users', "multiple":true },   width: 11, name: 'ExcludedUsers' } 

这会在行编辑时显示 jQuery UI 多选小部件,但多选小部件是空的。似乎在调用 initdata 函数后加载了 dataurl 内容,并且多选小部件无法在 dataurl 加载的选择元素上注册。

我怎样才能解决这个问题?

4

1 回答 1

2

select 元素的加载花费了比 setTimeout 函数的 50ms 更长的时间。将值更改为 150 后,它工作得很好。

setTimeout(function () {
$(elem).multiselect({
  minWidth: 100,
  height: 'auto',
  selectedList: 2,
  checkAllText: 'all',
  uncheckAllText: 'no',
  noneSelectedText: 'Any',
  open: function() {
    var $menu = $('.ui-multiselect-menu:visible');
    $menu.width('auto');
    return;
  }
});
}, 150);
于 2013-09-06T15:40:33.370 回答