PHP AJAX отображать значение, когда в раскрывающемся списке выбрано определенное значение - PullRequest
1 голос
/ 17 марта 2020

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

вот мой код

выберите тему

<select name="subject" id="subject1" class="form-control m-1">
             <option value="">Select Subject</option>
</select>

часть, где я хочу показать предметную единицу

<input name="unit" id="unit1" class="form-control m-1">


AJAX для субъекта

 $(document).ready(function(){
    $('#subject1').change(function(){
      var subject=$(this).val();
      $.ajax({
        url:"fetch_unit.php",
        method:"post",
        data:{Units:subject},
        dataType:"text",
        success:function(data)
        {
          $('#unit1').val(data);
        }
      });

    });
  });

fetch_unit. php

<?php
include 'admin/includes/server.php';

$output='';
$sql="SELECT * FROM tbl_subject";
$result=mysqli_query($conn,$sql);

 $row=mysqli_fetch_array($result);

    echo $output=$row["units"];



?>

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

Вам необходимо изменить AJAX success() функцию:

success:function(data)
{ 
    $('#unit1').text(data);   // fill #unit1 with PHP response data
}

А в PHP использовать implode() для создания строки:

$row = [];
while ($row=mysqli_fetch_array($result)) {
     $row[] = $row['units'];
}
echo isset($_POST['units']) && $_POST['units'] ? rtrim(implode(', ',$row),', ') : '';  

$(()=>{

    $('#subject1').change(function(){

        var subject=$(this).val();

        $.ajax({
          url:"fetch_unit.php",
          method:"post",
          data:{units:subject}, 
          success:function(data)
          {
              $('#unit1').html('');
              $('#unit1').text(data);
          }
        });

    });
});
<select name="subject" id="subject1" class="form-control m-1">
             <option value="">Select Subject</option>
             <option value="Subject">Subject</option>
</select>

<div id='unit1' class="form-control m-1"></div> 

В PHP вы можете использовать $_POST['units'] переменную, которая содержит #subject1 value

0 голосов
/ 17 марта 2020
 $(document).ready(function(){
   $('#subject1').change(function(){
      var subject=$(this).val();
      $.ajax({
       url:"fetch_unit.php",
       method:"post",
       data:{Units:subject},
       dataType:"text",
      success:function(data){
        $('#unit1').append(data);
      }
    });
 });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...