Dynamisch geladen jquery ui dialog openen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim S

Tim S

11/03/2013 01:12:12
Quote Anchor link
Goedenavond,

Ik probeer een jquery ui dialog te openen welke door ajax word geladen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$('#dialog-button').live('click',function(){

alert('dit gaat wel goed');

$('#dialog').dialog('open');//dit niet

});

//en dan wordt dit door ajax geladen

<div id="dialog">

<form>

<input type="text" value="hier een waarde">

</form>

</div>


Maar ik kom er even niet uit hoe ik de dialog kan laten openen..?

Weet iemand hoe dit moet?

Alvast bedankt!
 
PHP hulp

PHP hulp

17/10/2021 02:10:13
 
Albert de Wit

Albert de Wit

11/03/2013 10:10:26
Quote Anchor link
Waar je op moet letten is dat een van de laatste versies van jQuery .live() niet meer ondersteunt. Dat is nu .on().

Zie hier voor verdere uitleg
Gewijzigd op 11/03/2013 11:05:24 door Albert de Wit
 
Tim S

Tim S

11/03/2013 12:46:51
Quote Anchor link
Ja dat kwam ik ook tegen tijdens mijn zoektocht, maar .on kreeg ik niet aan de praat daar ga ik ook nog even naar kijken.

Het probleem zit niet alleen in de dialog maar ook als je bijvoorbeeld css van een element wilt veranderen. Er is waarschijnlijk wel een oplossing voor, maar ik heb hem nog niet kunnen vinden....
 
Albert de Wit

Albert de Wit

11/03/2013 13:01:20
Quote Anchor link
Misschien sla je iets per ongeluk over? Ik heb hier een duidelijk voorbeeld hoe je de dialog van UI gebruikt.

http://jsfiddle.net/24Xuv/2/

Ga alle stappen na om zeker te zijn dat het hoort te werken!
 
Tim S

Tim S

11/03/2013 13:07:50
Quote Anchor link
Bedankt voor je reactie, ik heb dezelfde dialog zonder ajax wel getest dan werkt deze. Als ik de html door ajax laad dan werkt hij niet. Ik heb in firefox een dom navigator daarin is te zien dat de html er wel in staat.

Als je bijvoorbeeld en button door ajax genereert heb je .live of .on nodig. datzelfde heb ik nodig voor het openen van de dialog. En stel dat je bijvoorbeeld wilt doen $('#id').html(); Dan werkt dat ook niet, ik vraag me ook af hoe je dat doet. hier helpt .on en .live je volgens mij niet.
 
Albert de Wit

Albert de Wit

11/03/2013 13:30:30
Quote Anchor link
Ik liep hier ook tegenaan een tijdje geleden en toen kwam ik met .on() aan en dat werkte gewoon prima. Welke versie van jQuery gebruik je?
 
Tim S

Tim S

11/03/2013 13:42:42
Quote Anchor link
1.9 van google. Maar stel dat ik .on gebruik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$('#dialog-button').on('click' function(){

$('#dialog').dialog('open');

});


Dan werkt de .on toch alleen voor het click event en niet voor de dialog. Ik hoop eigenlijk dat ik het mis heb.
 
Albert de Wit

Albert de Wit

11/03/2013 15:17:07
Quote Anchor link
gebruik een komma bij on().

in jouw geval dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$('#dialog-button').on('click', function(){
    $('#dialog').dialog('open');
});


Toevoeging op 11/03/2013 15:18:17:

wat die on() doet is gewoon een event triggeren door te kijken wat de eerste parameter is. Click in dit geval. Dus als je dan op de button met het id 'dialog-button' klikt hoort hij het dialog te openen.
 
Tim S

Tim S

11/03/2013 16:53:23
Quote Anchor link
Ik heb .on aan de praat gekregen, maar de dialog opent nog niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$(document).on("click",'#dialog-button',function(){
        alert('dit werkt');
        
        $('#dialog').dialog('open');//dit nog niet

    })


Als je .on of live weg laat werkt de button ook niet, dus daarom denk ik dat de dialog ook niet opent. Ik denk dat hier ook iets mee moet gebeuren.
 
Albert de Wit

Albert de Wit

11/03/2013 17:01:25
Quote Anchor link
Je hebt de jquery UI wel aan de praat? Word die wel ingeladen?
 
Tim S

Tim S

11/03/2013 17:23:27
Quote Anchor link
Als ik de dialog gewoon in de html zet zonder ajax dan werkt het wel(ik kan dan niet .on gebruiken dan werkt het ook niet). Als ik de dialog open zoals hierboven met de html door ajax dan werkt het niet.
 
Albert de Wit

Albert de Wit

11/03/2013 20:51:22
Quote Anchor link
Kan ik morgen anders met teamviewer meekijken? Ik heb vanavond niet veel tijd meer en heb hier de afgelopen tijd veel mee te maken gehad. Het zou het een stuk makkelijker maken.
 
Tim S

Tim S

11/03/2013 23:20:29
Quote Anchor link
Ik ben inmiddels met behulp van stackoverflow op de volgende oplossing(en) gekomen:

1 - bij de click handler de dialog direct aanmaken, $('#dialog').dialog(hier dan de dialog maken);
2 - een eigen functie aanmaken ipv de standaard $(function(){}); waar de dialog in staat, dan werkt het op een een of andere manier wel.

In elk geval bedankt voor de hulp Albert!
 
Albert de Wit

Albert de Wit

12/03/2013 10:18:14
Quote Anchor link
Dus hij doet het nu?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.