【问题标题】:get value from drop down onchange redirect从下拉 onchange 重定向中获取值
【发布时间】:2013-01-24 04:46:44
【问题描述】:

我从下拉 onchange 重定向,当我选择一个值时,当我从下拉 onchange 重定向重定向时页面不改变值。 我的 JavaScript

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

像这样在我的表单上

<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>

我如何获得从这个表单中选择的值??

【问题讨论】:

  • 我认为您使用的是 MVC 框架之一。可能是您的 URL 模式有问题。如果您使用的是 Firefox,请使用 firebug 检查它们(
  • localhost/portal/index.php/kalender/cari_agenda/1/01,我想从 url 模式中获取“1”
  • “1”是类别,“01”是月份
  • 你到底想做什么?你的代码是正确的。它应该按预期重定向。
  • 当我从下拉 onchange 中选择时,例如“Januari”,重定向页面也会从下拉 onchange 中显示“Januari”而不是“pilih bulan”

标签: php javascript redirect drop-down-menu onchange


【解决方案1】:

根据我的 cmets,您正试图在 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>

【讨论】:

    【解决方案2】:

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

    如果您想获得一个类别,就像您在评论中指出的那样。然后我建议这样做:

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

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 1970-01-01
      • 2013-06-29
      • 2013-09-21
      • 2019-03-07
      • 2015-09-23
      • 1970-01-01
      相关资源
      最近更新 更多