【问题标题】:Dropdown Changing Session Value [closed]下拉更改会话值[关闭]
【发布时间】:2012-04-08 19:33:08
【问题描述】:

我正在使用 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>

想法?

【问题讨论】:

  • 您的意思是预先选择了一个值吗?
  • 不,我已经预先选择了该值,但是如果用户在下拉列表中选择不同的选项,我希望它能够再次更改会话全局。
  • 看,你需要提供更多信息;在用户更改必须在提交表单之前发生的下拉值之后是否必须发生某些事情?如果是这样,那么您需要使用 JavaScript 来捕获它。

标签: php jquery codeigniter


【解决方案1】:

由于您使用 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>

并将其添加到您的 $(document).ready( .. ); 调用中以捕获对该下拉列表的更改,如下所示:

$(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'
        ); 
    });
});

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 它不是会话 ID,它只是一个会话键值
    • 一件事是会话值,另一件事是关键。会话键值是什么意思?说清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 2022-01-26
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多