代码点火器中的Set_value回退以从URL地址获取整数

时间:2015-03-11 17:36:22

标签: javascript php html forms codeigniter

我使用codeigniter框架来更新数据库中的记录,用户首先从表单上的下拉列表中选择项目的ID

此ID被添加到URL中,其中从该数据库获取该项目的所有相关信息。

我使用了一小部分javascript来实现将ID添加到URL中。

我的问题是,即使我在表单上有set_value()字段,但在页面重新加载后,它仍然没有在下拉框中重新训练ID?

我需要将ID留在下拉列表中,以及位于页面顶部的网址

这是我的表格代码

<?php echo form_dropdown('ItemID', $ItemIDListFromDatabase, 
                                set_value('ItemID', 1), 'id="ItemID"'); ?>

<script type="text/javascript">
            $( '#ItemID' ).on( 'change', function( e ){
                document.location.href = "<?php echo site_url('site/Myform) ?>" + "/" + $( this ).val();
            });
        </script>

正如您在上面所看到的,我尝试在此set_value调用中添加一个随机回退编号,该编号仅用于更新ID为1的项目,我需要它才能更新对应于该项目的项目网址上的ID

我希望这是有道理的,所有的帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

你可以通过简单地使用

来做到这一点
$this->uri->segment()

在不知道您的完整网址的情况下,我不知道要放入细分中的确切数字,但是根据您提供的代码,只需将以下内容更改为:

<?php echo form_dropdown('ItemID', $ItemIDListFromDatabase, 
                                set_value('ItemID', $this->uri->segment(3)), 'id="ItemID"'); ?>

这将获取您网址的第3段内的值。

如果您无法弄清楚正确的URI段应该是什么,请快速提示,您可以通过回显不同的值来测试它,直到找到正确的值

E.g。

<?php echo $this->uri->segment(3); ?>   

这将显示您的第三段网址

上显示的内容