如何从两个下拉列表中获取价值并将其传递给不同的网址?

时间:2013-09-24 20:13:04

标签: javascript php html ajax

我有两个下拉列表,想要获取第一个选定的年份值,并将其添加到页眉的网址,也添加到第二个下拉网址选项,这样当我从第二个下拉列表中选择一个php页面时可以在页面上看到年份值。

<?php    $id = $_GET['id']; ?>

   <form method="post">
    Report Period:
    <select name="year" id="year"  >
        <option style="display:none;"> Select</option>

        <?php

        $result1 = mysql_query("select year from year_data where id=$id");

        while ($row = mysql_fetch_assoc($result1)) {

            $period= $row['year'];


            echo "<option  value=\"$period\">$period</option>";

        }
        ?>

    </select>

     Type:
    <select name="report"  id="report" > 


    <option style="display:none;">--Select--</option>


        <?php

    echo "<option value=\"".reportA.".php?org_id={$id}&year=\">reportA</option>";
 echo "<option value=\"" . reportB . ".php?org_id={$id}&year=\">report B</option>";

        ?>

    </select>
    <input type=submit name=button method="post"  onClick="getValues()"  value="view" >

</form>
    <SCRIPT language="JavaScript">

    function getValues() {
var year = document.getElementById("year").value;
var report=document.getElementById("report").value;
    window.location.href = 'header.php?year=' +  year.options[year.selectedIndex].value
    window.location.href = report +  year.options[year.selectedIndex].value


       }


    </SCRIPT>

2 个答案:

答案 0 :(得分:1)

window.location.href 调用会立即重定向您引用的页面。所以第二次通话无效。

您需要做的是,

让我们说你有两页 page1.php&lt; - 说这有你在问题中写的代码。

page2.php&lt; - 您可以从get vars获取值。 (见下文)

在page1.php中更改这两行

window.location.href = 'header.php?year=' + year.options[year.selectedIndex].value

window.location.href = report + year.options[year.selectedIndex].value

yearValue = year.options[year.selectedIndex].value;

reportValue = report.options[report.selectedIndex].value;

window.location.href = 'page2.php?year=yearValue&report=reportValue';

在第2页

report = $_GET['report']

year = $_GET['year']

快乐编码......

答案 1 :(得分:0)

你在找这样的东西吗?

如果我正确理解了你需要的东西,就没有必要改变你的getValues()fn,因为这些值没有改变 - 只有第二次选择的可见部分。

这是对的吗?

jsFiddle here

var yr;

$(document).ready(function() {
    $('#selone').change(function() {
        yr = $(this).val();
        var txt;
        $('#seltwo option').each(function() {
            txt = $(this).text();
            $(this).text(txt + ' - ' + yr);
        });
    });

}); //END document.ready