选择选项,在提交前获取选项值

时间:2016-05-28 09:04:51

标签: javascript php html

我有3个下拉列表,其中选择2个下拉列表中的值会触发第3个下拉列表也会发生变化。

例如:

如果第一个下拉列表是 1 ,第二个下拉列表是 名称 ,那么第三个drowpdown列表应该查询数据库并从 1name 中检索行。然后,当我点击第3个下拉列表时,它会显示 1name 中的行。

请帮帮我

1 个答案:

答案 0 :(得分:0)

试试这个:

html页面:select.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <select id='first' onchange="on_change()">
       <option value='1'>1</option>
       <option value='2'>2</option>
    </select>
    <select id='second' onchange="on_change()">
       <option value='name'>name</option>
       <option value='test'>test</option>
    </select>
    <select id='third'>
       <option value=''>select</option>
    </select>
    <script   src="https://code.jquery.com/jquery-2.2.4.min.js"   integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="   crossorigin="anonymous"></script>
    <script type="text/javascript">
        function on_change()
        {
            var f=$("#first").val();
            var s=$("#second").val();
            if(f!="" && s !="")
            {
                $.ajax({
                    type:"POST",
                    url:"test.php",
                    data:{ "first":f,"second":s},
                    success:function(res)
                    {
                        $("#third").html(res);  
                    }
                });
            }
        }
    </script>
</body>
</html>

php页面:test.php

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "test";
   $conn= mysqli_connect("localhost","root","","test");
   if($_POST['first'])
   {
     $str=$_POST['first'].$_POST['second'];
     $q="select * from test where cname='".$str."'";
     $res=mysqli_query($conn,$q);
     $data="";
     $flag="0";
     while($row=mysqli_fetch_assoc($res))
     {
        $data .="<option value='".$row['cname']."'>".$row['cname']."</option>";
        $flag++;
     }
     if($flag==0)
     {
        $data .="<option value=''>not found</option>";
     }
     echo $data;
   }
?>