获得两个下拉值

时间:2011-08-11 01:37:33

标签: php jquery ajax

我只是想知道我是否可以获得两个不同的下拉值,然后将它传递给jquery返回到php?

你知道我有这两个下降。一个用于月份,一个用于年份。用户可以选择她/他想要的月份和年份,然后图表上的显示将根据所选择的月份和年份而变化。我能够进行单次下拉但是我不能在两次摔倒时做到这一点。

    <script type="text/javascript">
      $(document).ready(function()
   {
     $("#months").change(function(event)
    {
         var m=$(this).val();
         if( m == '00')
         { 
         }
         else if(m!='00' || m!='NULL')
         {
            $("#display").load('../crd_reports/month.php', {"m":m});
         }

    });

    $("#years").change(function(event)
    {
         var y=$(this).val();
         if( y == '10')
         {
         }
         else if(y!='10' || y!='NULL')
         {
            $("#display").load('../crd_reports/month.php', {"y":y});
         }
    });
  });
    </script>   

    <div>
  <select id="months">
    <option value='00'>Month...</option>
            <option value='01'>Jan</option>
            <option value='02'>Feb</option>
            <option value='03'>Mar</option>
            <option value='04'>Apr</option>
            <option value='05'>May</option>
            <option value='06'>June</option>
            <option value='07'>July</option>
            <option value='08'>Aug</option>
            <option value='09'>Sept</option>
            <option value='10'>Oct</option>
            <option value='11'>Nov</option>
            <option value='12'>Dec</option>
      </select>
     <select id="years">
       <?php
          for($yr=10; $yr<=$year; $yr++)
    {
        echo "<option value='".$yr."'>".$years[$yr]."</option>";
    }
   ?>
    </select>
  </div>

这是我month.php的开始

     <?php
      if (isset($_REQUEST['m'])) 
      {
      $m = $_REQUEST['m'];
     // $y = $_REQUEST['y'];
      include '../../include/dbconnect.php';

      ?>

2 个答案:

答案 0 :(得分:3)

您可以创建一个在更改下拉列表时运行的函数,并立即传入两个参数:

$('#months, #years').change(function(event)
{
    var m=$('#months').val();
    var y=$('#years').val();

    // combine the conditions, so both must be valid before running
    if( (m!='00' || m!='NULL') &&
        (y!='10' || y!='NULL') )
    {
        $('#display').load('../crd_reports/month.php', {"y": y, "m": m});
                                     // notice additional param ^^^^^^
    }
}

然后在month.php中,您可以获取这两个参数并使用它们来填充报告:

<?php
// 'y' also has to be given before we continue
if ( isset($_REQUEST['m']) && isset($_REQUEST['y']) ) 
{
    $m = $_REQUEST['m'];
    $y = $_REQUEST['y'];
    include '../../include/dbconnect.php';

    // do something with $m and $y
}
else
{
    echo 'Please provide month and year.';
}
?>

答案 1 :(得分:1)

试试这个

   $(document).ready(function()
   {
     $("#months").change(function(event)
    {
         var m=$(this).val();
         if( m == '00')
         { 
         }
         else if(m!='00' || m!='NULL')
         {
            $("#display").load('../crd_reports/month.php', {"m":m, "y": $("#years").val()});
         }

    });

    $("#years").change(function(event)
    {
         var y=$(this).val();
         if( y == '10')
         {
         }
         else if(y!='10' || y!='NULL')
         {
            $("#display").load('../crd_reports/month.php', {"y":y, "m": $("#months").val()});
         }
    });
  });