jQuery UI Datepicker Monat und Jahr Combo funktioniert nicht in jQuery BlockUI (Popup)

8

Wenn ich jQuery UI-Datumsauswahl in BlockUI (Popup) öffne und versuche, Monat und Jahr zu ändern, wird Dropdown nicht geöffnet. Es funktioniert gut in Popup aber außerhalb von Datepicker.

HTML:

%Vor%

jQuery:

%Vor%

jsFiddle

    
Rajnikant Kakadiya 12.08.2013, 11:51
quelle

1 Antwort

11

Dies liegt daran, dass jquery blockUI Ihr Klickereignis erfasst, sehen Sie sich die Funktion handler() an:

%Vor%

So wird Ihr Klick-Event NUR propagiert:

  • Wenn der angeklickte Element-Vorgänger ein div mit der css-Klasse blockMsg ist (oder Ihre eigene Klasse, wenn Sie den Standardwert blockMsgClass geändert haben)
  • oder wenn die untergeordneten Elemente Ihres angeklagten Element-Vorfahren nicht mit .blockUI css class
  • div sind

Das Problem ist, dass das jquery-ui datepicker div ( div#ui-datepicker-div ) automatisch außerhalb Ihres div.popup angehängt wird, so dass es keine dieser Anforderungen erfüllt.

Also wird eine schnelle Lösung sein, die css-Klasse blockMsg zum datpicker div hinzuzufügen (was ein Vorfahre des geklickten select -Elements ist) wie in das ist Fiddle .

Eine andere Lösung wäre, das datepicker-div an das Popup-div anzuhängen, sobald es erzeugt wurde, aber Sie haben ein Positionierungsproblem, wenn Sie den datepicker öffnen.

    
rd3n 12.08.2013, 13:33
quelle

Tags und Links