Erstellen Sie zuerst das no1-Auswahlmenü mit PHP, wie Sie oben erwähnt haben. Fügen Sie dann einen 'change' eventListener wie folgt hinzu:
$('#select1').change(createSelect2);
function createSelect2(){
var option = $(this).find(':selected').val(),
dataString = "option="+option;
if(option != '')
{
$.ajax({
type : 'GET',
url : 'http://www.mitilini-trans.gr/demo/test.php',
data : dataString,
dataType : 'JSON',
cache: false,
success : function(data) {
var output = '<option value="">Select Sth</option>';
$.each(data.data, function(i,s){
var newOption = s;
output += '<option value="' + newOption + '">' + newOption + '</option>';
});
$('#select2').empty().append(output);
},
error: function(){
console.log("Ajax failed");
}
});
}
else
{
console.log("You have to select at least sth");
}
}
Jetzt hat das No2-Select-Menü neue Optionen entsprechend der Select 1-Selected-Option.
Und die PHP-Datei:
<?php
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
if(isset($_GET['option']))
{
$option = $_GET['option'];
if($option == 1)
{
$data = array('Arsenal', 'Chelsea', 'Liverpool');
}
if($option == 2)
{
$data = array('Bayern', 'Dortmund', 'Gladbach');
}
if($option == 3)
{
$data = array('Aek', 'Panathinaikos', 'Olympiakos');
}
$reply = array('data' => $data, 'error' => false);
}
else
{
$reply = array('error' => true);
}
$json = json_encode($reply);
echo $json;
?>
Natürlich verwende ich dort einige Demodaten, aber Sie können eine SQL-Abfrage machen, um das $data-Array dort zu füllen und sie als JSON mit den richtigen Headern zu senden. Verwenden Sie zum Schluss noch ein paar js für das zweite Auswahlmenü:
$('#select2').change(selectSelect2);
function selectSelect2(){
var option = $(this).find(':selected').val();
if(option != '')
{
alert("You selected: "+option);
}
else
{
alert("You have to select at least sth");
}
}
Überprüfen Sie hier http://jsfiddle.net/g3Yqq/2/ ein funktionierendes Beispiel