我使用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
我希望这是有道理的,所有的帮助表示感谢。
答案 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); ?>
这将显示您的第三段网址
上显示的内容