javascript - 从另一个 <select> 更改并加载 <select> mySQL 值

标签 javascript php mysql select

我有两个<select> 、类别和子类别。 我希望当我单击“类别”中的选项/值时,然后加载并更新第二个 <select>来自 mySQL。子类别值位于 mySQL 中。

(1)类别选择

<select class="form-control" onchange="check()"  id="category" name="category">
    <option  value="cafe">Café</option>
    <option  value="bars-clubs">Bars-Clubs</option>
    <option  value="restaurants">Restaurants</option>
    <option  value="shopping">Shopping</option>
    <option  value="services">Services</option>
    <option  value="sducation">Education</option>
</select>

(2)子类别选择

<select class="form-control " id="SubCategory" name="subCategory">
    <?php include "server.php";

        $qyerry = "select * from " + [[FROM CATEGORY VALUE]]
        $result = mysql_query($qyerry);
        while($row = mysql_fetch_array($result)){
            echo "<option value=''>" . $row{'name'} . "</option>";
        }
    ?>
</select>

这是我的 Javascript 代码,用于获取 onchange 值选项的值

<script>
   function check(){
      var x = document.getElementById("category").value;
   }                                
</script>

最佳答案

要实现级联组合框,您需要使用以下方法之一:

  • 更改父组合框时提交表单。

    这意味着,在您第一次选择时,您需要有这样的内容:<select class="form-control" onchange="location.replace('current?action=CategorySelectionChanged')" 。 在服务器端准备一个查询并将其结果传递给客户端。

  • 使用 XmlHttpRequest 获取子级的内容并通过 Javascript 对其进行解析。

    同样,您需要触发一个更改事件,该事件将调用服务器。我假设您正在使用 jQuery,因此将通过 Ajax 调用进行写入。

    请查看this link .

关于javascript - 从另一个 <select> 更改并加载 <select> mySQL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40610428/

相关文章:

javascript - Ajax异步性在内循环函数之前调用end函数

javascript - 页面重定向后 Jquery 不起作用

php - Codeigniter 成本函数 - 没有错误但不计算

php - 访问 $_POST 或其他超全局变量时是否可能触发错误?

php - 如何防止 PHP 中的 SQL 注入(inject)?

mysql - 代码已运行但没有输出,我的错误是什么?

java - Android-JSP org.json.JSONException : Value &lt;! java.lang.String 类型的 DOCTYPE 无法转换为 JSONObject

javascript - d3如何做并发动画?

javascript数字变量显示0而不是null

javascript - 为什么 JavaScript 的空合并运算符 (||) 不适用于 es6 变量 (let/const)?