изменение значений одного поля выбора при нажатии другого поля выбора в php с помощью jquery не работает

#javascript #php #html #jquery #ajax

Вопрос:

у меня есть простая форма, в которой, когда пользователь выбирает поле выбора, другое поле выбора будет отображать значения, основанные на нем, это простая страница PHP, поэтому я просто сделал это с двумя полями выбора на простой странице, и она работает нормально, как вы можете видеть здесь:

введите описание ссылки здесь

теперь я реализовал его в своей реальной форме на веб-сайте, который находится здесь:

введите описание ссылки здесь

однако это дает мне пустые значения, коды, как показано ниже:

 $(document).ready(function() {

      $("#type").change(function() {
            var val = $(this).val();
            if (val == "2") {
              $("#size").html("<?php
                  $ret = mysqli_query($con, "select * from modelssubcat where cat_id='2'");

                  while ($row = mysqli_fetch_array($ret)) {

                    ?
                    > < option value = '<?php echo $row["subcat_name"];?>' > <?php echo $row["subcat_name"];?> < /option><?php }?>");
                  } else if (val == "3") {
                    $("#size").html("<?php
                        $ret = mysqli_query($con, "select * from modelssubcat where cat_id='3'");

                        while ($row = mysqli_fetch_array($ret)) {

                          ?
                          > < option value = '<?php echo $row["subcat_name"];?>' > <?php echo $row["subcat_name"];?> < /option><?php }?>");

                        } else if (val == "4") {
                          $("#size").html("<?php
                            $ret = mysqli_query($con, "select * from modelssubcat where cat_id='4'");

                            while ($row = mysqli_fetch_array($ret)) {

                              ?
                              > < option value = '<?php echo $row["subcat_name"];?>' > <?php echo $row["subcat_name"];?> < /option><?php }?>");

                            } else if (val == "5") {
                              $("#size").html("<?php
                                $ret = mysqli_query($con, "select * from modelssubcat where cat_id='5'");

                                while ($row = mysqli_fetch_array($ret)) {

                                  ?
                                  > < option value = '<?php echo $row["subcat_name"];?>' > <?php echo $row["subcat_name"];?> < /option><?php }?>");

                                }
                              });


                          }); 
 <?php
session_start();


   include("inc/connection.php");
?>


  <!DOCTYPE html>
  <html lang="en" class="loading">
  ...........

  <form method="post" enctype="multipart/form-data">
    <div class="card-body">
      <div class="card-block">

        <div class="col-md-6">
          <div class="form-group">
            <label for="image">Category Name</label>



            <select id="type" class="form-control" name="cat_id">
              <option>--Select Category--</option>
              <?php




       
$ret=mysqli_query($con,"select * from modelscat");

while ($row=mysqli_fetch_array($ret)) {

?>
                <option value="<?php echo $row['cat_id'];?>">
                  <?php echo $row['cat_name'];?>
                </option>

                <?php }?>
            </select>
          </div>
        </div>

        <div class="col-md-6">
          <div class="form-group">
            <label for="image">SubCategory Name</label>
            <select id="size" class="form-control" name="subcat_id">
              <option>--Select Subcategory--</option>





            </select>
          </div>
        </div>

        ................. 

может кто-нибудь, пожалуйста, сказать мне, что здесь не так, заранее спасибо

Комментарии:

1. Вы уверены, что ваш $con является допустимым подключением к БД ?

2. @KenLee да, братан, первый вариант выбора исходит только из базы данных, он поступает правильно

3. Закройте соединение с помощью mysqli_close($con); , прежде чем выполнять следующее соединение/запрос, и посмотрите результат.

4. В общем случае вы не должны использовать SQL-запросы в циклах, это плохо сказывается на производительности во время выполнения. Вместо этого используйте объединения для объединения таблиц и выполнения только одного запроса.

5. @Ларсстегелиц ок, братан