当前位置: 首页 > 知识库问答 >
问题:

使用ajax从同一数据表填充下拉列表

赵智
2023-03-14

我有一个包含5列的mysql数据库表。

id,columnA,columnB,columnC,columnD

我用这些值填充datatable,因此每列有2个(不同的)值。

columnA 1, columnB 1, columnC 1, columnD 1
columnA 1, columnB 1, columnC 1, columnD 2
...
columnA 2, columnB 2, columnC 2, columnD 2

我希望用户可以从下拉列表中选择这些值。当他/她从columnA中选择第一个数据时,columnB值会根据所选值出现在另一个选择框中。等等..所以我想我需要使用Ajax-jQuery。这是我使用的脚本,

<script type="text/javascript">
$(document).ready(
function() {
    $(".columnA").change(
    function() {
        var columnA=$(this).val();
        var dataString = 'columnA='+ columnA;
        $.ajax (    {
                        type: "POST",
                        url: "ajax_try.php",
                        data: dataString,
                        cache: false,
                        success: function(html)
                        {
                            $(".columnB").html(html);
                        }    
                    }               
                );

                }
        );
});
</script>

和php代码。

<?php
    //index.php
    include('db.php');
    $sql=mysql_query("SELECT ID, columnA FROM try GROUP BY columnA");
    while($row = mysql_fetch_array($sql))
    {
    $id = $row['id'];
    $columnA = $row['columnA'];
    echo '<option value="'.$id.'">'.$columnA.'</option>';
    } 
?>


<?php
   //ajax_try.php
   include('db.php');
   if($_POST['columnA'])
   {
      $columnA = $_POST['columnA'];
      $sql = mysql_query("SELECT ID, columnB from try WHERE columnA = '$columnA' GROUP BY columnB");

      while($row = mysql_fetch_array($sql))
      {
         $id = $row['id'];
         $columnB = $row['columnB'];
         echo '<option value="'.$id.'">'.$columnB.'</option>';
      }
   }
?>

我得到了columnA的值,但当我选择其中一个时,什么也没有发生。而且我不知道如何使用Ajax绑定其他下拉列表。

共有1个答案

朱通
2023-03-14

我建议最好的调试方法是使用以下方法:

1)更改报警,查看是否调用函数

2)使用file_put_contents(..)调试php端,看看SQL实际执行了什么?

3)对使用Ajax接收到的数据发出警报,查看是否正在接收?

如果您使用以上三种方法进行正确的调试,您应该很容易发现哪里出了问题,哪里出了问题?

祝你好运.

 类似资料:
  • 问题内容: 我知道在这个问题上有很多问题,但是我仍然不确定该怎么做。 我有一个名为“ CuisineForm”的HTML表单,在用户选择了美食类型之后,AJAX将该表单发送到服务器。AJAX调用工作正常,并且服务器以JSON响应进行响应,其中包含此特定美食的所有服务时间。这些服务时间分为早餐,午餐和晚餐。 这些时间需要以相同的形式填充到3个单独的下拉菜单中。 但我真的不知道如何处理JSON结果以填

  • 问题内容: 我有以下jQuery代码。我可以从server获得以下数据。我该如何对此进行迭代,并用 另外,使用和之间有什么区别。 问题答案: 这应该可以解决问题: 这里的区别和(从jQuery的文档): [getJSON]是Ajax的简写功能,等效于: 编辑:要明确,部分问题是服务器的响应返回的是如下所示的json对象: …因此该属性需要使用手动解析。

  • 问题内容: 就像标题中所说的那样,尽管我对尚未付诸实践的理论很熟悉,但我仍在尝试使用jQuery,JSON和AJAX创建下拉菜单,因此,任何建议,演示代码段或教程都将不胜感激,因为我想开始最好的开始! 提前感谢! 问题答案: 您需要执行$ .getJSON调用以从document.load或其他一些事件http://api.jquery.com/jQuery.getJSON/上的服务器中获取jso

  • 问题内容: 我有一个表格(“场地”),其中存储了志愿者可以工作的所有可能场所,每个志愿者被分配为每个场所工作一个。 我想从场所表中创建一个选择下拉列表。 现在,我可以显示分配给每个志愿者的地点,但是我希望它显示下拉框,并且已经在列表中选择了地点。 例如,将ID为7的志愿者分配给了场地编号4 我知道它将采用for或while循环的形式从场地表中拉出场地列表 我的查询是: 如何填充选择下拉框与场馆(

  • 问题内容: 我需要使用JavaScript根据下拉菜单A中的选择更改下拉菜单B的内容。没有涉及到数据库查询- 我事先知道应该在A中选择B的内容。我已经找到了一些使用AJAX的示例,但是由于没有涉及到数据库查询,所以没有必要。谁能为我指出一些示例代码以实现此目的? 问题答案: function configureDropDownLists(ddl1, ddl2) {

  • 问题内容: 我已经用AJAX填充了ASP.net下拉列表,现在我需要获取ID以C#方法存储到数据库中((我正在使用LINQ) 这是我的网络方法 我的test.aspx代码 问题答案: 如果在中添加选项,则无法从中获取所选值。您可以尝试以下