JQgrid Multiselect与eric hynds multiselect和dataurl

时间:2013-09-04 17:07:24

标签: jquery jquery-ui jqgrid multi-select

我尝试使用在jqgrid内联编辑中填充数据网址的多重选择。这个现在工作正常。

但处理不是很舒服。所以我尝试添加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加载的select元素上注册。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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);