php - 在 php 中使用 select onChange 填充不同的数据

标签 php mysql html

我需要一些关于如何使用 mysql 中的数据填充 select(s) 的说明。基本上我想做的是:

将会有一个第一个选择框,其中包含一些数据。

<select> 
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

当用户在第一个选择中选择一个选项时, 下面有第二个选择,它应该反射(reflect)根据第一个选择中所做的选择的值。

<select> 
  <option>1.1</option>
  <option>1.2</option>
  <option>1.3</option>
</select>

数据来自MySQL。我不确定是否需要发布到同一页面,但如果需要,如何保留在前面的选择框中已选择的值?我需要使用 JavaScript 吗?

有什么帮助吗?

谢谢。

最佳答案

您应该使用 JavaScript,这样就不需要刷新页面。我刚刚重新阅读了您的问题,我将在一秒钟内找到一个涉及 AJAX 请求来提取动态数据的解决方案:

HTML

<select name="select1" id="select1"> 
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

<select name="select2" id="select2"> 
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

jQuery

<script type="text/javascript">
$(document).ready(function() {
    $('#select1').change(getDropdownOptions);
});

function getDropdownOptions() {
    var val = $(this).val();
    // fire a POST request to populate.php
    $.post('populate.php', { value : val }, populateDropdown, 'html');
}

function populateDropdown(data) {
    if (data != 'error') {
        $('#select2').html(data);
    }
}
</script>

populate.php

<?php
if (!empty($_POST['value'])) {
    // query for options based on value
    $sql = 'SELECT * FROM table WHERE value = ' . mysql_real_escape_string($_POST['value']);

    // iterate over your results and create HTML output here
    ....

    // return HTML option output
    $html = '<option value="1">1</option>';
    $html .= '<option value="b">B</option';
    die($html);
}
die('error');
?>

关于php - 在 php 中使用 select onChange 填充不同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1866450/

相关文章:

php - 如何使用 RSS 验证 HTML?

php - CakePHP 3 : Preselect checkboxes when editing belongsToMany Model

php - 从输入添加信息表

javascript - 多维数组概率

python - 连接器/python executemany NoneType

mysql - 列出数据表中的多个文件进行下载

mysql - 如何在SQL中重置wp_posts ID表?

html - pwa 应用程序没有使用 list 图标在 android 中安装

javascript - 如何仅从第一页和最后一页删除按钮?

php - 使用文件存储库时无法使Composer加载类