结合 PHP Ajax jQuery for 下拉列表 由 SQL 填充


combining php ajax jquery for drop downs populated by sql

我正在尝试让三个不同的 php 位按顺序工作并以用户容易的方式工作。这是我已经拥有的一些从数据库中获取数据的代码。我在下拉列表中有一个与此类似的语句,我需要在它发生变化时使用第一段代码中的答案进行填充,我还需要获取这两个问题的答案并将它们放入另一个 sql 语句中,该语句将显示一组结果。我知道我需要使用jquery或ajax之类的东西,但我不确定如何在WordPress中使用它来获得所需的效果。

<select name="raceTrack2" onchange="">
      <?php
            $postids = $wpdb->get_col("SELECT trackName FROM " . $trackTableName . ";");
            foreach ($postids as $value) 
            {
                echo '<option>' . $value . '</option>' ;
            }
      ?>
</select>

任何帮助将不胜感激

有几种方法可以剥这只猫的皮。既然你提到了jQuery/Ajax,我将指导你完成使用这些技术的高级步骤:

  1. 编写一个 javascript 函数,该函数对 PHP 脚本进行 Ajax 调用,该脚本以 JSON 格式返回数据以填充第二个下拉列表。在 ajax() 方法中,成功完成调用后,解析 JSON 数据并为第二个下拉列表的值构造 HTML 代码。然后使用 jQuery 选择器,选择第二个下拉列表并使用 html() 方法设置它的 HTML 内容。
  2. 修改第一个下拉列表的 onchange() 事件处理程序,以调用在步骤 1 中创建的 JS 函数。
  3. 编写另一个 javascript 函数,从第一个下拉列表中获取所选值,从第二个下拉列表中获取所选值。然后对 PHP 脚本进行另一个 Ajax 调用,该脚本将这两个值作为输入,并对这些值执行任何需要执行的操作。
  4. 最后,修改第二个下拉列表的 onchange() 事件处理程序,以调用在步骤 3 中创建的 JS 函数。

在高层次上,这应该可以做到。正如我所说,有很多方法可以给这只猫剥皮。这可能是最简单的方法,不需要回传/往返服务器。