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 によって読み込まれた select 要素に multiselect ウィジェットを登録できないようです。

どうすればこれを修正できますか?

4

1 に答える 1

2

select 要素の読み込みに、setTimeout 関数の 50 ミリ秒よりも時間がかかりました。値を 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 に答える