2016-04-08 6 views
1

Ich möchte den ausgewählten Wert in einer Dropdown-Box als PHP-Variable in meiner functions.php-Datei verwenden. Ich habe versucht, mit Jquery-Ajaxverwende ausgewählten Dropdown-Wert als Variable in PHP

$(document).ready(function(){ 
$("#pa_color").change(function(){ 
var result= $(this).val();   
document.getElementById("demo").innerHTML = result; 
if (result.length == 0) { 
document.getElementById("tit").innerHTML = ""; 
return; 
} else { 
var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
    document.getElementById("tit").innerHTML = xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET", "selectcolor.php?q=" + color, true); 
    xmlhttp.send(); 
     });  
    }); 

und die Variable erhalten Sie auf der Website zeigen getElementByld mit („Demo“), aber eine 404-Nachricht erhalten, wenn sie versuchen, die Variable mit meinem select zu nennen und verarbeiten .php Datei. Ich würde bevorzugen, nur php zu benutzen, aber werde verwenden, was notwendig ist. Ich kann alle Farben mit jedem Element PHP

$color = $product->get_attribute('pa_color'); 

mit zugeordnet bekommen, aber ich möchte nur die ausgewählte Farbe. Wie du sehen kannst, bin ich neu und mein Wissen ist begrenzt. Danke

+0

Farbe scheint nicht auf Ihrem 'XMLHttpRequest' initialisiert zu werden. –

+0

Warum mischt du einfach javascript mit jQuery? Da Sie jQuery verwenden, warum verwenden Sie XMLHttpRequest und nicht $ .ajax? – Sean

Antwort

0
$('#pa_color').val() 

Gibt den ausgewählten Wert des Dropdown-Elements aus.

Verwenden Sie dies, um den ausgewählten Optionstext zu erhalten. mit AJAX oder etwas

$('#pa_color option:selected').text(); 

Jetzt können Sie diesen Wert verwenden, um Ihre PHP-Datei weitergegeben werden.

+0

Ich habe diesen Code verwendet, aber nichts schien die Variable zu initialisieren oder die Datei colorselect.php zu aktivieren. $ (Dokument) .ready (function() { $ ("# pa_color"). Change (function() { var ausgewählt = $ (this) .val(); $ .ajax ({ URL: "colorselect.php", Typ: "POST", Daten: {ausgewählt: ausgewählt}, Erfolg: Funktion (Daten) { alert (Daten); \t} \t}); }); }); ' –

+0

meine colorselect.php Datei sieht like'