0

我有两个下拉列表,想要获取第一个的选定年份值并将其添加到标题页面的 url 以及第二个下拉 url 选项,这样当我从第二个下拉列表中选择一个 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>
4

2 回答 2

1

window.location.href调用将立即重定向您引用的页面。所以第二次调用将不起作用。

你需要做的是,

假设您有两个页面 page1.php <- 假设这具有您在问题中编写的代码。

page2.php <- 您可以从 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']

快乐的编码...

于 2013-09-24T20:36:08.943 回答
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
于 2013-09-24T20:38:20.467 回答