我可以在下拉框中选择英国或美国的用户。 然后使用'OnChange'提交。 然后它将发布到自己,并在帖子上将数据存储为cookie。
它将使用此cookie然后向用户显示正确的数据。 它还将使用此cookie在下拉列表中显示当前选择,以便用户可以将其修改为另一个选择。
这是完成此任务的最佳方式吗?移动设备也很友好吗?
修改 我想使用jQuery方法,我认为这看起来很流畅。 我想使用Cookies,因为我需要根据cookie的值运行SQL语句(因此需要通过标头发送到服务器)
以下是否正确? 头。 添加jQuery& jQuery cookie Addon。
<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中吗?
这是实现这一目标的正确方法吗?
非常感谢提前!
答案 0 :(得分:0)
答案 1 :(得分:0)
在更改时获取下拉选择的值并将其添加到变量:
var dd = $(“select.foo option:selected”)。val();
然后使用该值来执行您需要做的任何更新或将其存储为cookie(正如其他海报突出显示的那样)或使用localStorage:http://www.w3schools.com/html/html5_webstorage.asp
修改强> 只是为了澄清,摆脱表单帖子 - 这里不需要它,有更容易/更好的方法来做你想要实现的目标。
答案 2 :(得分:0)
甚至比使用本地存储和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轻松完成。无需发布任何内容。
答案 3 :(得分: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来查看Cookies。 (在PHP中)
<?php
echo '<br><br><br>';
print_r($_COOKIE);
?>
希望这有助于某人 - 感谢指点人!