Javascript 页面刷新后OnChange选项保持不变
我有这个货币转换脚本,所以用户可以从列表中选择它的货币,比如我们到欧元,所以我想让它在页面刷新后保持不变,就像用户选择了欧元,他刷新页面时应该保持不变一样 这是我的Javascript和代码Javascript 页面刷新后OnChange选项保持不变,javascript,php,onchange,Javascript,Php,Onchange,我有这个货币转换脚本,所以用户可以从列表中选择它的货币,比如我们到欧元,所以我想让它在页面刷新后保持不变,就像用户选择了欧元,他刷新页面时应该保持不变一样 这是我的Javascript和代码 <script> function updatePrice(val) { p = document.getElementById("original_price").value; newp = p * val; document.getElementById("calcu
<script>
function updatePrice(val) {
p = document.getElementById("original_price").value;
newp = p * val;
document.getElementById("calculated_price").value = newp;
}
</script>
函数updatePrice(val){
p=document.getElementById(“原价”).值;
newp=p*val;
document.getElementById(“计算价格”).value=newp;
}
Php代码:
<?php
$pr = 180;
?>
<select onchange="updatePrice(this.value)">
<option value="1">US</option>
<option value="98">RS</option>
<option value="61">Ind</option>
</select>
<input type="hidden" id="original_price" value="<?php echo $pr; ?>" />
Price: <input type="text" id="calculated_price" value="<?php echo $pr; ?>" />
美国
RS
Ind
实际上,据我所知,PHP提供了任何viewstate机制,所以您可以将其存储在某个隐藏字段中
如果需要使用javascript解决这个问题,也可以使用Cookies
我已经通过设置cookie使用jquery和javascript实现了这一点,因此我不希望您对用于cookie的jquery插件感到困惑。您可以使用jquery插件for cookie以更简单的方式完成这项工作。
这是密码
HTML
美国
RS
Ind
jquery/javascript
$(document).ready(function(e){
var name = "Currency=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++){
var c = ca[i].trim();
if (c.indexOf(name)==0) $('#selectCurrency').val(c.substring(name.length,c.length));
}
});
$('#selectCurrency').change(function(e){
var cookieVal = "Currency="+$(this).val();
document.cookie = cookieVal ;
});
$(文档).ready(函数(e){
var name=“Currency=”;
var ca=document.cookie.split(“;”);
对于(var i=0;i您可以使用会话或将所选值存储在数据库中的某个位置,inUpdate price函数在onchange事件上进行ajax调用,该调用存储所选值并保持更新。现在,每次刷新页面时,都会从数据库中提取先前选择的值,您可以选择显示它。什么浏览您的目标用户是谁?请尝试updatePrice()中的console.log(“Success”),这将告诉在会话变量中单击任何浏览器(如firefox、chromestore)时是否调用函数,并使用php标记会话变量选择了哪个选项,如如何在会话中存储该选项?我在回答检查中添加了一个链接it@Armarnath请检查我是否在实现会话后更新了代码,但没有更新发生
<select id="selectCurrency">
<option value="1">US</option>
<option value="98">RS</option>
<option value="61">Ind</option>
</select>
$(document).ready(function(e){
var name = "Currency=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++){
var c = ca[i].trim();
if (c.indexOf(name)==0) $('#selectCurrency').val(c.substring(name.length,c.length));
}
});
$('#selectCurrency').change(function(e){
var cookieVal = "Currency="+$(this).val();
document.cookie = cookieVal ;
});