Hallo,
ich versuche schon seit längerem meine jQuery Dropdowns mittels AJAX zu befüllen. Das Ganze funktioniert bisher ungefiltert sprich es zeigt für jeden Dropdown alle möglichen Einträge an, nun möchte ich das ganze verbessern und für den zweiten Picker beispielsweise die ID des ersten als Filter setzen. Ich treffe bei dem Ganzen nun auf folgendes Problem: Ich sehe bei "Entwicklertools" unter Network und XHR, dass die ID des ersten dropdowns unter FormData aufgelistet ist, jedoch erhalte ich eine leere Query sobald ich das zweite Dropdown öffne bzw. es werden keine Optionen angezeigt. Ich habe das Gefühl, dass bei der PHP-Datei nicht ankommt, verstehe aber auch nicht zu 100% wie ich es am besten überprüfen kann.
HTML-CODE:
JS-CODE:
So sieht mein JS-Code aus, in der Console wird mir auch die entsprechende ID angezeigt, ich schaffe es jedoch nicht innerhalb von PHP auf diesen zuzugreifen. Die SQL-Abfrage erfolgt über eine Funktion in meiner PHP Datei, bei der mit einem Switch-case entschieden wird, um welchen Dropdown es sich handelt sprich Produkt/Linie usw. Ich denke das Problem ist, dass die ID an PHP zwar übergeben wird, die Funktion für die Datenbankabfrage jedoch nicht erneut aufgerufen wird um sich die Daten zu holen, sobald der erste Selectpicker ausgelöst wird.
PHP-CODE:
Das ist die SQL Abfrage womit ich versuche die das ausgewählte Produkt als Filter zu nehmen. Ich habe es bereits mit
versucht jedoch ohne Erfolg. Vielleicht hat ja jemand eine Idee dazu oder ich mache etwas grundlegendes falsch. Danke im Vorraus!
ich versuche schon seit längerem meine jQuery Dropdowns mittels AJAX zu befüllen. Das Ganze funktioniert bisher ungefiltert sprich es zeigt für jeden Dropdown alle möglichen Einträge an, nun möchte ich das ganze verbessern und für den zweiten Picker beispielsweise die ID des ersten als Filter setzen. Ich treffe bei dem Ganzen nun auf folgendes Problem: Ich sehe bei "Entwicklertools" unter Network und XHR, dass die ID des ersten dropdowns unter FormData aufgelistet ist, jedoch erhalte ich eine leere Query sobald ich das zweite Dropdown öffne bzw. es werden keine Optionen angezeigt. Ich habe das Gefühl, dass bei der PHP-Datei nicht ankommt, verstehe aber auch nicht zu 100% wie ich es am besten überprüfen kann.
HTML-CODE:
HTML-Code:
<select class="form-control selectpicker unloadmsg" name="{NAME}" id="{NAME}" value="{NAME}" data-actions-box="true" data-live-search="true" title='{EINGABEINFO}'{ATTRIBUTE}> {OPTIONS} </select>
JS-CODE:
HTML-Code:
$(document).ready(function () { $("#produkt").change(function () { var p_id = $(this).val(); $.ajax({ method: "POST", url: "modules/ausschuss/ausschuss.class.php", data: { prodID: $('#produkt').val() }, async: true, dataType: 'text', success: function (data) { console.log(p_id); error: function () { alert("ERROR"); } }); });
PHP-CODE:
PHP-Code:
case 'linie':
$t = $_POST['prodID'];
$sql = 'SELECT l.id, l.bezeichnung as bezeichnung ' . 'FROM ' . $this->ctb->config->dbprefix . "ausschuss_linien l "
. 'LEFT JOIN ' . $this->ctb->config->dbprefix . 'ausschuss_produkte p ON p.id=l.produkt_id '
. "WHERE l.produkt_id = ' .$t ' AND l.deleted=0 AND p.deleted=0
AND l.archived=0 AND p.abteilung_id="
. $this->ctb->user->abteilung . ' ' . 'ORDER BY l.bezeichnung ';
break;
Das ist die SQL Abfrage womit ich versuche die das ausgewählte Produkt als Filter zu nehmen. Ich habe es bereits mit
HTML-Code:
$('#linie').selectpicker('refresh');
Kommentar