Jquery .dialog, mehrere gleichzeitig mit ID aber nur eine div

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

TheGateway

Mitglied
Hi,

ich öffne so mein Dialog:

Code:
      $( "#anzeige").dialog({
            resizable: false,
            height: 'auto',
            width: 780,
            dialogClass: 'dlgfixed',
            close: function( event, ui ) {  }); },
            position: { my: "center center", at: "center", of: window }
        });

mit diesem div

Code:
<div id="anzeige" title="">inhalt</div>

wenn aber das Dialog nun offen ist, geht es kein zweites mal auf. Das heißt ich müsste es so gestalten:

Code:
 $( "#anzeige-" + id).dialog({
            resizable: false,
            height: 'auto',
            width: 780,
            dialogClass: 'dlgfixed',
            close: function( event, ui ) {  }); },
            position: { my: "center center", at: "center", of: window }

        });


Code:
<div id="anzeige-id" title="">inhalt</div>
aber wie könnte ich das machen? mir fehlt der Lösungsansatz dort eine ID rein zu packen. Ich hatte an php gedacht, aber das wäre zu aufwendig und mit post und get kann ich nicht arbeiten. Jemand eine Idee?
 
Zuletzt bearbeitet:
Du benutzt da eine Funktion dialog(), die stammt höchstwahrscheinlich aus einer Bibliothek. Um welche handelt es sich?
 
Du benutzt da eine Funktion dialog(), die stammt höchstwahrscheinlich aus einer Bibliothek. Um welche handelt es sich?

https://jqueryui.com
das ist Jquery Ui

er öffnet die div anzeige also als bewegliches PopUp, unabhängig davon muss ich der div eine eindeutige ID zuweisen, als beispiel:

Code:
var id = raumid;

$( "#anzeige-" + id) << also flexibel durch RaumID oder Raumname ergänzt.


chatter a chattet in <div id=chatroom-id1> (geöffnet im dialog)
chatter b chatet in <div id=chatroom-id2> (nicht aufrufbar, da div id sich nicht ändert)

mit PHP wäre es recht einfach, aber ich arbeite mit Javascript und komme nicht so einfach an die aktuelle id ran.

aktuell kann ich aber immer nur ein Dialog öffnen weil ich es nur #anzeige genannt habe, ich benötige also die variable id einmal beim öffnen des Dialogs und einmal in der div selbst, damit er immer den aktuellen raum in als Popup öffnet.

ich hatte daran gedacht die Div als document write auszugeben. aber das funktioniert leider nicht.
 
Zuletzt bearbeitet:
also ich bin nun etwas weiter, die ID kann ich ja per Jquery an die Div hängen mit
Code:
$("#anzeige"). attr("id", "#anzeige-" + roomID);

ergibt: <div id="#anzeige-26">
das klappt auch wunderbar

Code:
 $("#anzeige-" + roomID).dialog({
            resizable: false,
            height: 'auto',
            width: 780,
            dialogClass: 'dlgfixed',
            close: function( event, ui ) {  }); },
            position: { my: "center center", at: "center", of: window }

        });

er findet leider die Div nicht um sie als Popup zu öffnen .. fehlermeldung gibt es keine
 
Beim Lesen stutze ich immer ein wenig, weil es sich so liest, als ob Du zwei Modale gleichzeitig öffnen willst. Aber wahrscheinlich willst Du nur ein Modal zur gleichen Zeit öffnen, aber es soll jeweils ein anderes sein.

er findet leider die Div nicht um sie als Popup zu öffnen
Sie muss natürlich auch genau gleich im HTML definiert sein.

fehlermeldung gibt es keine
Das ist eine Eigenschaft von jQuery: Was Du mit $('selector') erzeugst ist ein Array und wenn der Selector keine(n) Treffer hat, ist das Array leer und was man darauf anwendet ist wirkungslos.
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück