Php 下拉更改会话值

Php 下拉更改会话值,php,jquery,codeigniter,Php,Jquery,Codeigniter,我正在使用codeigniter,试图找出当用户更改下拉菜单时如何更改会话变量的值 <select name="testselect"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option

我正在使用codeigniter,试图找出当用户更改下拉菜单时如何更改会话变量的值

<select name="testselect">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select>

1.
2.
3.
4.
5.

想法?

您必须使用JavaScript提交新闻值,并且您还需要控制器中的一个函数来捕获该值。但是我不确定是否可以更改会话id。我几乎可以肯定这是不可能的,但肯定是不安全的。

由于您使用jQuery将问题标记为jQuery,我假设您在页面的某个地方使用它,所以您将HTML更改为:

<select name="testselect" id="testselect">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select>

你的意思是预先选择一个值吗?不,我已经预先选择了该值,但是如果用户在下拉列表中选择了不同的选项,我希望它能够再次更改会话全局。看,你需要提供更多信息;在用户更改提交表单之前必须发生的下拉列表值之后,是否必须发生某些事情?如果是这样的话,那么你需要使用JavaScript来捕获它,它不是会话id,它只是一个会话键值,一个是会话值,另一个是键。会话键值是什么意思?说清楚。
$(document).ready(function() {
    $('#testselect').change(function() {
        // POST the changed value to a method in a controller that can accept
        // a parameter and that'll set the session variable for you
        $.post("http://location/to/controller/method/",
          { testselect: this.value },
          'html'
        ); 
    });
});