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

时间:2016-11-15 12:58:17

标签: javascript php mysql select

我有两个<select>,类别和子类别。 当我点击Categories中的选项/值然后加载&amp;从mySQL更新第二个<select>。子类别值在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>

1 个答案:

答案 0 :(得分:0)

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

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

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

  • 使用XmlHttpRequest获取孩子的内容并通过Javascript解析。

    同样,你需要触发一个更改事件,它将调用服务器。我假设你正在使用jQuery,所以写作将通过Ajax调用。

    请查看this link