1

在下拉框中,我可以选择英国或美国的用户。然后使用“OnChange”提交。然后它将发布给自己,并在发布时将数据存储为 cookie。

它将使用此 cookie 向用户显示正确的数据。它还将使用此 cookie 在下拉列表中显示当前选择,以便用户可以将其修改为另一个选择。

这是完成这项任务的最佳方式吗?它对手机也很友好?

编辑 我想使用 jQuery 方法,我认为这看起来很流畅。我想使用 Cookies,因为我需要根据 cookie 的值运行 SQL 语句(因此需要通过标头发送到服务器)

以下是正确的吗?标题。添加 jQuery 和 jQuery cookie 插件。

 <script src="path/to/jquery.cookie.js"></script>
 <script src="path/to/jquery.js"></script>

身体

<select class="selectordropdown">
<option value="1">1</option>
<option value="2">2</option>
</select>

<script>
$( ".selectordropdown" )
    .change(function() {
    var selectvalue = $( ".selectordropdown" ).val();    
    $.cookie("cookiename", selectvalue {expires : 10, path: "/", domain "domain.com"});
    });
</script>

在身体中 - 我相信……当Selectordrop下降时。它获取下拉列表的值并将其存储在 cookie 中?

这是实现这一目标的正确方法吗?

提前谢谢了!

4

4 回答 4

0

比 cookie 更好的是使用本地存储和 JavaScript(如果您不关心 Internet Explorer 7 和更早版本)。

一个简单的例子:

    var el = document.getElementById("dropdownbox");
    if(typeof) Storage) !== "undefined") {

    el.onchange = function() {
        sessionStorage.userSelected = el.value;
    }
}

从那里您可以访问用户从sessionStorage.userSelected中选择的内容

这将存储浏览器会话的信息。如果您需要保持该值比浏览会话更长,请使用 localStorage 而不是 sessionStorage,并且语法完全相同。

此外,如果存储不可用,您可以回退到老式 cookie。但实际上甚至不需要为此使用 PHP,使用 JavaScript 可以很容易地完成。无需发布任何内容。

于 2013-10-03T14:34:44.927 回答
0

在更改时获取下拉选择的值并将其添加到变量中:

var dd = $("select.foo option:selected").val();

http://api.jquery.com/val/

然后使用该值进行您需要执行的任何更新或将其存储为 cookie(正如其他海报突出显示的那样)或使用 localStorage:http ://www.w3schools.com/html/html5_webstorage.asp

编辑 只是为了澄清,摆脱表格帖子 - 这里不需要,有更简单/更好的方法来做你想要实现的目标。

于 2013-10-03T14:23:45.593 回答
0

最终使用 Javascript 更容易!

JSFiddle http://jsfiddle.net/NnvTR/

的HTML

Choose Year

<select name="yearchoice" onchange="setCookie('mycookiename',this.value,30)">

<option value='2010'>2010</option>
<option value='2011'>2011</option>
<option value='2012'>2012</option>
<option value='2013'>2013</option>

</select>

剧本

<script>function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}</script>

然后在测试时我使用这个 PHP 来查看 Cookie。(在 PHP 中)

  <?php
echo '<br><br><br>';
print_r($_COOKIE);
  ?>

希望这对某人有所帮助-感谢人们的指点!

于 2013-10-04T14:18:10.360 回答
0

您不需要为此使用 POST。你可以用 JavaScript 很容易地做到这一点。

需要一些帮助?

http://www.w3schools.com/js/js_cookies.asp

于 2013-10-03T14:09:03.570 回答