【问题标题】:Get the value of selected dropdown to compare to another dropdown获取所选下拉列表的值以与另一个下拉列表进行比较
【发布时间】:2013-12-24 02:57:43
【问题描述】:

我有 2 个下拉列表,分支下拉列表从数据库中获取 app_cn。并且 sem 下拉列表获取 app_plan_no。但我需要将分支下拉列表中选择的值与 sem 下拉列表中选择的值进行比较。

我看到了这段代码,但我不知道该怎么做

   <?php
    $mysqli = new mysqli("localhost", "root", "", "app");
    $result = $mysqli->query("SELECT * FROM app GROUP BY app_cn ORDER BY app_cn");
    echo'<select name="drop_1" id="drop_1">';
     while($row = $result->fetch_assoc())
        {
           echo '<option value="'.$row['app_cn'].'">'.$row['app_cn'].'</option>';
        }
echo'</select>';

if($_GET['func'] == "drop_1" && isset($_GET['func'])) {
   drop_1($_GET['drop_var']); 
}

function drop_1($drop_var)
{
    $mysqli = new mysqli("localhost", "root", "", "app");
    $results = $mysqli->query("SELECT * FROM app WHERE app_cn='$drop_var' GROUP BY app_plan_no ORDER BY app_plan_no");

    echo '<select name="tier_two" id="tier_two">
          <option value=" " disabled="disabled" selected="selected">Choose one</option>';

          while($drop_2 = $results->fetch_assoc())
            {
            if($drop_2['app_plan_no'] != '')
            {
              echo '<option value="'.$drop_2['app_plan_no'].'">'.$drop_2['app_plan_no'].'</option>';
            }
            }

}
echo'</select>';
?>

<script type="text/javascript">
$(document).ready(function() {
    $('#wait_1').hide();
    $('#drop_1').change(function(){
            if( $(this).val() == "ALL") {
            $("#wait_1").hide();
            $("#result_1").hide();
        }else{
      $('#wait_1').show();
      $('#result_1').hide();
      $.get("func.php", {
        func: "drop_1",
        drop_var: $('#drop_1').val()
      }, function(response){
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      });
      }
        return false;
    });
});

function finishAjax(id, response) {
  $('#wait_1').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}
</script>

这就是我想做的WHERE app_cn='$drop_var'

我的桌子

counter | app_cn   | app_plan_no 

000004  |  comp1   |  1
000172  |  comp1   |  1
000007  |  comp1   |  2
000005  |  comp2   |  1

这是我的选择下拉菜单

<select name="branch" id="branch" onchange="showCourses()">
<option value="ALL" selected='ALL'>ALL</option>
<?php
$mysqli = new mysqli("localhost", "root", "", "app");
    $result = $mysqli->query("SELECT * FROM app GROUP BY app_cn ORDER BY app_cn");
     while($row = $result->fetch_assoc())
        {
           echo '<option value="'.$row['app_cn'].'">'.$row['app_cn'].'</option>';
        }?>
</select>
<select name="sem" id="sem" onchange="showCourses()">
<?php

$mysqli = new mysqli("localhost", "root", "", "app");
    $result = $mysqli->query("SELECT * FROM app GROUP BY app_plan_no ORDER BY app_plan_no");
     while($row = $result->fetch_assoc())
        {
           echo '<option value="'.$row['app_plan_no'].'">'.$row['app_plan_no'].'</option>';
        }
        ?>
</select>

【问题讨论】:

    标签: php jquery mysql drop-down-menu


    【解决方案1】:

    要使用 jquery 获取 select 语句的值,请使用 .val()

    要在使用 php(服务器端)提交表单时获取 select 语句的值,您可以在 $_POST 变量中找到变量的值,其中键是 select 语句的 name 属性的值。

    【讨论】:

    • 我试过了,但我不想使用表单。我想用一页执行。
    • 听起来您要处理表单?那么表单发布到的任何页面都可以访问表单在 $_POST 变量中提交的所有值。如果您想在生成表单的同一页面上执行此操作,您可以添加类似于 if(isset($_POST['tier_two'])){//perform some operations} 的 if 语句
    • 我张贴我的桌子。我的问题是,下拉 sem echo 的所有 app_plan_no。就像在我的桌子上一样。 comp1 有两个 app_plan_no,即 1 和 2。而 comp2 确实只有 app_plan_no 1。当我在分支下拉列表中选择 comp2 时,sem 下拉列表应该只回显 1,但它也回显 2。因为我的 sem 下拉列表中的查询没有 where 子句功能。像这样 WHERE app_cn='$drop_var' 。那个问题,我需要获取分支下拉列表的选定值以与 sem 下拉列表进行比较,这样如果我选择 comp2,它​​只会回显 app_plan_no 1。希望你明白我想说什么。
    猜你喜欢
    • 2015-12-30
    • 2018-09-16
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多