Vous pouvez le faire en utilisant jquery, avec un script backend PHP pour remplir les valeurs de la boîte de sélection en fonction du bouton sur lequel vous cliquez.
Certains HTML simple pour commencer:
<form action="script.php">
<button id="Honda" onClick="loadModelsForMake('Honda');">Honda</button>
<button id="Toyota" onClick="loadModelsForMake('Toyota');">Toyota</button>
<select name="models" id="models">
<option value="">Please Select A Make</option>
</select>
</form>
Ensuite, vous aurez besoin d'un script PHP mis en place pour vous donner la liste appropriée des valeurs données de la marque choisie. Il est préférable de faire cela sur le back-end afin de ne pas coder les choses dans votre code javascript. Créez un fichier appelé models.php. Il cherchera la variable "make" définie dans la chaîne de requête et retournera un tableau de modèles JSON pour cette marque. Si vous voulez, vous pouvez brancher jusqu'à présent à une base de données de modèles pour les marques que vous n'êtes pas coder en dur les choses:
<?php
$models = array();
if ($_GET['make'] == 'Toyota') {
models[] = array(id: 0, name: 'Matrix'});
models[] = array(id: 1, name: 'Yaris'});
} else if ($_GET['make'] == 'Honda') {
models[] = array(id: 0, name: 'Civic'});
models[] = array(id: 1, name: 'Pilot'});
}
echo json_encode($models);
?>
Enfin vous avez besoin du JQuery pour accrocher tous ensemble. Ajouter ce bloc de script à votre page:
<script type="text/javascript" charset="utf-8">
function loadModelsForMake(carMake) {
$.getJSON("/models.php", {make: carMake, ajax: 'true'}, function(json){
var options = '';
for (var i = 0; i < json.length; i++) {
options += '<option value="' + json[i].id+ '">' + json[i].name + '</option>';
}
$("models").html(options);
})
}
</script>
Bien sûr assurez-vous d'inclure la base de script jQuery dans votre page;)
Peut-on avoir un contexte? Est-ce une page web, une application de bureau? –
Il est sur une page Web avec php et javascript activer le serveur. Je vous remercie! – ron8
AJAX n'est pas requis. ron8, avez-vous envisagé d'utiliser jQuery? http://jquery.com/ –