【问题标题】:PHP AJAX display a value when certain value is selected in drop down listPHP AJAX 在下拉列表中选择某个值时显示一个值
【发布时间】:2020-03-17 07:00:25
【问题描述】:

我正在制定主题计划它的作用是用户选择他/她想要的课程,并且所选课程中提供的主题显示在下拉列表中,该部分工作正常,问题是当我选择一个某些主题我需要在文本字段中显示该选定主题的单位我将在此处显示的代码正在工作,但它显示为下拉列表,但我想将其设为文本字段,但我不知道将其设为文本字段。

这是我的代码

选择主题

<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"];



?>

【问题讨论】:

  • i want to make it as text field.. ?你能详细说明一下吗?
  • @Swati 是的,我想将其设为文本字段,因为对我有用的代码是单位显示下拉列表,但我想将其设为文本字段,我指定了 1每个主题的单位如果是下拉列表,那将是无稽之谈,我希望我能更好地解释一下,给您带来的不便很抱歉
  • 那么您当前的代码是否有效?此外,您需要使用 $_POST['Units'] 在 php 代码中获取主题,并在查询中传递相同的内容,即 where 子句。
  • @Swati 上面的代码已更新,现在可以使用

标签: php jquery ajax


【解决方案1】:
 $(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);
      }
    });
 });
});

【讨论】:

  • 我会试试这个如果我让它工作我会告诉你谢谢:)
  • 虽然此代码可能会为问题提供解决方案,但最好添加有关其工作原理/方式的上下文。这可以帮助未来的用户学习并将这些知识应用到他们自己的代码中。在解释代码时,您也可能会以赞成票的形式从用户那里获得积极的反馈。
【解决方案2】:

需要修改AJAXsuccess()函数:

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

【讨论】:

    猜你喜欢
    • 2016-04-03
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多