Вы можете сделать это, используя jquery, с одним PHP-внутренним скриптом, чтобы заполнить значения поля выбора в зависимости от нажатой кнопки.
Несколько простых HTML-кодов для начала:
<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>
Тогда вам потребуется настроить PHP-скрипт, который предоставит вам соответствующий список значений для выбранной марки. Лучше всего делать это на бэкэнде, чтобы вы не жестко закодировали вещи в своем коде javascript. Сделайте файл с именем models.php. Он будет искать переменную «make», определенную в строке запроса, и вернет JSON-массив моделей для этого make. Если вы хотите, вы можете подключить это к базе данных моделей для производителей, так что вы не будете сильно кодировать вещи:
<?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);
?>
Наконец, вам нужен JQuery, чтобы связать все это вместе. Добавьте этот блок скрипта на свою страницу:
<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>
Конечно, убедитесь, что вы включили базовый скрипт jQuery на свою страницу;)