Заполнение второго поля выбора в зависимости от первого варианта поля выбора

У меня есть этот выбор, давайте назовем его "X", который заполняется марками автомобилей в качестве опций из базы данных через SELECT.

<select name="X">
<?php
$row = mysqli_query("SELECT * FROM brands");
while($row2 = mysqli_fetch_array($row))
echo '<option value="' . $row2['brandID'] . '">' . $row2['brandName'] . '</option>
?>
</select>

Теперь мне нужно заполнить второй выбор, называемый "Y", спецификой моделей для выбранной марки.

Например, если в первом поле выбора (X) выбрано значение Audi, в качестве параметров во втором поле выбора (Y) должны быть указаны следующие параметры: A4,A6,TT,TT.

Заполнить второе поле выбора вручную легко, в основном то же самое, что и для первого, просто с другим запросом SQL.

$row = mysqli_query("SELECT modelName from modele WHERE brandName = '$brand'");

Где $brand будет иметь значение в соответствии с выбором первого выбора.

Спасибо

2 ответа

Решение
Put an id in your <select name="X"> code like <select name="X" id ="X">

Put another select like <select name="Y" id="Y">. Which will be blank.

put this jquery in your page.

$("X").on("change",function(){
    var x_value=$("X").val();
    $.ajax({
        url:'ajax.php',
        data:{brand:x_value},
        type: 'post',
        success : function(resp){
            $("#Y").html(resp);               
        },
        error : function(resp){}
    });
});

in your ajax.php add the query.

<?php
$row = mysqli_query("SELECT modelName from modele WHERE brandName =".$_POST['brand']);
while($row2 = mysqli_fetch_array($row))
    echo '<option value="' . $row2['modelId'] . '">' . $row2['modelName'] . '</option>
?>

Надеюсь, это сработает. Пожалуйста, скажите мне, если вам что-нибудь нужно.

Используйте ajax и на событие изменения вместе,

Метод: 1- создать страницу, на которой вы размещаете свои запросы. 2- эта страница должна реагировать на запрос и отправляет ответ с желаемым списком опций. пример:

if ($_POST["vehicle"] == car) // send response with array of car names as json obj for example
else // send response with array of motorbikes names

ваш ajax должен получить его и заполнить заполненное поле.

Если вам нужно больше деталей, я буду рад предоставить это

Другие вопросы по тегам