2014-03-19 73 views
1

我此腳本的錢轉換,以便用戶可以選擇它的貨幣從列表中我們一樣爲歐元,所以我希望把它保留頁面刷新後,同樣喜歡,如果用戶選擇了歐元,他刷新它應該保持相同的頁面。的OnChange選項頁面刷新後保持相同

這是我的Javascript和代碼

<script> 
function updatePrice(val) { 
    p = document.getElementById("original_price").value; 
    newp = p * val; 
    document.getElementById("calculated_price").value = newp; 
} 

</script> 

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; ?>" /> 

更新1實現會話

<?php 
session_start(); 
// store session data 
$_SESSION['value']=".updatePrice(this.value)."; 

if(isset($_SESSION['value'])); 

?> 

<?php 

$pr = 180; 

?> 
<select onchange="<?php echo $_SESSION['value']; ?>"> 
    <option value="1">US</option> 
    <option value="98">RS</option> 
    <option value="61">Ind</option> 
</select> 

<br> 
<hr> 


<input type="hidden" id="original_price" value="<?php echo $pr; ?>" /> 
Price: <input type="text" id="calculated_price" value="<?php echo $pr; ?>" /> 


<script> 
function updatePrice(val) { 
    p = document.getElementById("original_price").value; 
    newp = p * val; 
    document.getElementById("calculated_price").value = newp; 
} 

</script> 
+0

什麼瀏覽器,你定位? – andars

+0

嘗試的console.log內updatePrice((「成功」)),這將告訴函數是否被調用或沒有的onclick – user3004356

+0

如Firefox的任何瀏覽器,Chrome – user3423422

回答

2

其實PHP dosent提供任何ViewState的機制,儘可能我知道,所以你可以做的是把它存儲在一些隱藏領域。最好的方式和我個人的建議n爲使用一個會話變量用於此目的

http://www.w3schools.com/Php/php_sessions.asp

如果你需要使用JavaScript來解決這個問題,你可以用餅乾太

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

我已經做到了這一點使用jQuery和JavaScript通過設置一個cookie,因此我不希望你與cookie混淆jquery插件。你可以使用jquery插件的cookie以更簡單的方式做到這一點。 下面的代碼

HTML

<select id="selectCurrency"> 
    <option value="1">US</option> 
    <option value="98">RS</option> 
    <option value="61">Ind</option> 
</select> 

的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 ; 

    }); 

小提琴

http://jsfiddle.net/AmarnathRShenoy/HM3Zj/

+0

就像我可以將它存儲在會話中一樣? – user3423422

+0

我加入的答案的鏈接檢查 –

+0

@Armarnath請檢查我已經實現會議,但沒有發生 – user3423422

0

您可以使用會話或數據庫,inUpdate一些地方保存選定的值價格功能使用ajax調用存儲,選擇的值並保持onchange on事件。現在,每個頁面被刷新時,previuosly選擇的值會得到從數據庫中獲取並可以顯示它入圍。

相關問題