Ich bin jetzt für 3 Stunden meinen Kopf gegen die Wand. Ich habe diesen Code:Wie bekomme ich neu erstellt wählen Breite mit JS
function showpctask() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
var xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("pcactivitytask").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","showpctask.php"+,true);
xmlhttp.send();
}
, die eine PHP-Datei in einem div (id = pcactivitytask) eröffnet. Die PHP-Datei erstellt ein ‚wählen‘
ich diese Funktion auch hier habe:
function setpctaskwidth() {
var maxtaskwidth = 0;
$("div .pcactivitytask").each(function(){
c_width = parseInt($(this).width());
if (c_width > maxtaskwidth) {
maxtaskwidth = c_width;
}
});
alert (maxtaskwidth);
}
, die mir die maximale Breite aller Elemente mit der Klasse der „pcactivitytask“ zeigen. Ja, die Auswahl, die vom vorherigen Skript erstellt wurde, hat diese Klasse. Wenn ich diese beiden Funktionen anrufe, wird es NICHT die Breite der neu erstellten Auswahl enthalten ..... Ich muss es wieder 'manuall' ausführen. Ich brauche mein Skript, um "onclick" BOTH build die NEW select UND schließen Sie es in die Suche nach der maximalen Breite durch das zweite Skript. Vielen Dank.
Ihr Skript ruft 'setpctaskwidth()' zu früh auf, die 'select.pcactivitytask' ist zu diesem Zeitpunkt nicht geladen. Aus diesem Grund ist die Breite nicht enthalten, die Auswahl ist noch nicht vorhanden. – Thomas
Ihr Aufruf an das php-Backend ist eine asynchrone Aufgabe, Sie müssen also warten, bis sie fertig ist. Es gibt wahrscheinlich eine unzählige Anzahl von Erklärungen dazu, wie es im Grunde das Hauptsache ist, über das man stolpern kann. Aber einfach, in Ihrem Fall, nach der Zeile 'document.getElementById (" pcactivitytask "). InnerHTML = xmlhttp.responseText;' müssen Sie 'setpctaskwidth' auf eine Art auslösen. – Yoshi