Php 在更改重定向时从下拉列表中获取值

Php 在更改重定向时从下拉列表中获取值,php,javascript,redirect,drop-down-menu,onchange,Php,Javascript,Redirect,Drop Down Menu,Onchange,我有从下拉菜单onchange redirect,当我选择其中一个值时,页面当我从下拉菜单onchange redirect重定向不更改值时。 我的javascript <script language="JavaScript" type="text/javascript"> function redirect(site){ window.location= site

我有从下拉菜单onchange redirect,当我选择其中一个值时,页面当我从下拉菜单onchange redirect重定向不更改值时。 我的javascript

<script language="JavaScript" type="text/javascript">
                    function redirect(site){
                        window.location= site
                    }
                </script>

功能重定向(站点){
window.location=site
}
像这样在我的表格上

<select name="bulan" onchange="redirect(this.value)">
                    <option value="#">Pilih Bulan</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/01">Januari</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/02">Februari</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/03">Maret</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/04">April</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/05">Mei</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/06">Juni</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/07">Juli</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/08">Agustus</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/09">September</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/10">Oktober</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/11">November</option>
                    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/12">Desember</option>
                </select>

皮利布兰

你写的剧本写得很好。 我可以假设页面上的URL或其他js代码有问题。 如果您使用的URL没有协议(例如http://),则可能会导致重定向问题

如果你想得到一个类别,就像你在评论中指出的那样。那么我建议:

<script type="text/javascript">
function redirect(site){
    var category = site.split('/')[5];
    //other code goes here...
}
</script>

功能重定向(站点){
var category=site.split('/')[5];
//其他代码在这里。。。
}

根据我的评论,您正在尝试根据URL中的最后一个参数选择当前选项。您只需要
selected=“selected”
。试试这个:

<select name="bulan" onchange="redirect(this.value)">
    <option value="#">Pilih Bulan</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/01" <?php if($this->uri->segment(4) == '01') echo 'selected="selected"'; ?>>Januari</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/02" <?php if($this->uri->segment(4) == '02') echo 'selected="selected"'; ?>>Februari</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/03" <?php if($this->uri->segment(4) == '03') echo 'selected="selected"'; ?>>Maret</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/04" <?php if($this->uri->segment(4) == '04') echo 'selected="selected"'; ?>>April</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/05" <?php if($this->uri->segment(4) == '05') echo 'selected="selected"'; ?>>Mei</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/06" <?php if($this->uri->segment(4) == '06') echo 'selected="selected"'; ?>>Juni</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/07" <?php if($this->uri->segment(4) == '07') echo 'selected="selected"'; ?>>Juli</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/08" <?php if($this->uri->segment(4) == '08') echo 'selected="selected"'; ?>>Agustus</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/09" <?php if($this->uri->segment(4) == '09') echo 'selected="selected"'; ?>>September</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/10" <?php if($this->uri->segment(4) == '10') echo 'selected="selected"'; ?>>Oktober</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/11" <?php if($this->uri->segment(4) == '11') echo 'selected="selected"'; ?>>November</option>
    <option value="<?= base_url(); ?>index.php/kalender/cari_agenda/<?= $this->uri->segment(3); ?>/12" <?php if($this->uri->segment(4) == '12') echo 'selected="selected"'; ?>>Desember</option>
</select>

皮利布兰

我认为您使用的是MVC框架之一。可能是您的URL模式有问题。如果你在Firefox上,用firebug检查它们(标签)。我想从url模式中得到“1”是类别,“01”是你真正想做的事情吗?你的代码是正确的。它应该按预期重定向。当我从更改下拉列表中选择时,例如“Januari”,重定向页面也会从更改下拉列表中显示“Januari”,而不是“pilih bulan”