2010-02-25 7 views

Répondre

0

Voici un exemple en utilisant JSON comme format d'échange de données. Vous pouvez utiliser XML, JSON, HTML ou même passer le javascript pour être évalué.

PHP:

$searchParam = $_GET['SEARCH_PARAM']; 

//Get the matching results for the secondselect from your database 
$results = $DB->query('Select ID, NAME, GROUP from mytable where parent = ?', $searchParam); 

//If you're using a PHP 5.2 or a newer version you have the json_encode function 
print json_encode($results); 

HTML:

<select id="firstselect" onchange="myfunc();"> 
    <option value="">Select one...</option> 
    <option value="1">One option</option> 
    <option value="2">Second choice</option> 
</select> 

<select id="secondselect"></select> 

Javascript:

function myfunc() { 
    var value = $("#firstselect").val(); 
    $.get("myjsonprovider.php", 
    {SEARCH_PARAM: value }, 
    dataType: "JSON", 
    function(data) { 
     var options = '<option value="">Select one...</option>'; 
     var optgroup = data[0].GROUP; 
     options += '<optgroup label="' + data[i].GROUP + '">'; 
     for(var i = 0; i < data.length; i++) { 
     if(optgroup != data[i].GROUP) { 
      options += '</optgroup><optgroup label="'+data[i].GROUP+'">'; 
     } 
     options += '<option value="' + records[i].ID +'">'+data[i].NAME+'</option>'; 
     } 
     options += '</optgroup>'; 
     $("#secondselect").html(options); 
    } 
); 

} 
+0

Merci de votre réponse, j'ai une question bien, comment formaterait je mon fichier PHP ? – Probocop

+0

J'ai mis à jour l'exemple avec un exemple de code PHP. J'ai aussi légèrement modifié l'appel $ .get dans la partie Javascript en ajoutant un paramètre dataType: et en supprimant la manipulation JSON.parse (data) car elle est inutile. –

Questions connexes