2016-06-16 12 views
0

Ich denke, es hat damit zu tun, wie select2 das eigentliche Dropdown außerhalb des Elements, auf dem es basiert, erstellt.Wenn Sie ein select2-Dropdown-Menü als Editor in einem In-cell-Bearbeitungs-Kendo-Raster verwenden, verlässt die Zelle vorzeitig den Bearbeitungsmodus?

Gibt es eine Möglichkeit, die "Unschärfe" -Aktivität der Zellen zu unterbrechen, bis der Benutzer eine Auswahl getroffen hat, oder im Allgemeinen das select2 im Kendo-Gitter besser nutzbar macht?

Ich machte hastig diese jfiddle. Ich lege das select2 in die erste Spalte.

function testEditor(container, options) { 

var customInput = $('<select name="' + options.field + '" data-text-field="text" data-value-field="id" />'); 

    var scheduleContactSelect = 
     customInput 
     .appendTo(container) 
     .select2(
     { 
      data: ["test1", "test2"] 
     }); 
} 

http://jsfiddle.net/zaq3a3o5/

Wie Sie, sobald Sie die Interaktion beginnen mit dem select2, schließt die Zelle Editiermodus sehen können, lässt aber die select2 hängen.

Antwort

0

So stellte sich heraus, dass die Lösung aus drei Teilen bestand.

  1. Verwenden Sie die Konfigurationsoption "dropdownParent" select2, um sicherzustellen, dass der Dropdown-Teil der Verbindung innerhalb desselben Elements angefügt wird.
  2. Stellen Sie sicher, dass Sie Select2 4.03 oder höher verwenden. (Ich musste auf 4.03 upgraden)
  3. Definieren Sie das "focusout" -Ereignis während des Ereignisses "select2: open" für das Suchfeld select2, damit wir defaultDefault() und stopPropagation() verhindern können, um zu verhindern, dass "focusout" aufblubbert.