получить значения двух выпадающих - PullRequest
2 голосов
/ 11 августа 2011

Мне было просто интересно, смогу ли я получить значения двух разных выпадающих списков, а затем передать их в 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>

это начало моего месяца. php

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

      ?>

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

Вы можете создать функцию, которая запускается при изменении любого раскрывающегося списка и передает оба параметра одновременно:

$('#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 голос
/ 11 августа 2011

Попробуйте это

   $(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()});
         }
    });
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...