2013-07-02 63 views
3

我有一個下面選擇選項的代碼來改變選擇選項的文本如何永久使用javascript

<select id="test" onchange="changeContent()"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
</select> 

的JavaScript代碼是

function changeContent() 
{ 
    document.getElementById('test').options[0].text = 'ONE'; 
} 

現在,它改變了我的期權價值時,我是刷新頁面再次回到較舊的頁面,我如何才能永久更改選項值。

<select id="test" onchange="changeContent()"> 
<option>ONE</option> 
<option>2</option> 
<option>3</option> 
</select> 
+2

您使用的是靜態HTML頁面還是動態頁面(php等..)。 – mohkhan

+1

你從哪裏獲得「新」價值,爲什麼你有初始價值? –

+0

@mohkhan動態頁面。 – Aravin

回答

2

我從您的意見中建議您使用的是<select>的php文件。 讓我們把它叫做file.php

在file.php你可以有這樣的事情: (我沒有測試這一點,但我認爲這是一個良好的開端,你需要什麼)

<?php 
session_start(); 
$value1 = 1; $value2 = 2; $value3 = 3; 
$_SESSION["value1"] = 1;$_SESSION["value2"] = 2;$_SESSION["value3"] = 3; 
if ($_POST['value'] == 1) {$_SESSION["value1"] = 'One';} 
if ($_POST['value'] == 2) {$_SESSION["value2"] = 'Two';} 
if ($_POST['value'] == 3) {$_SESSION["value3"] = 'Three';} 
?> 


<select id="test" onchange="changeContent()"> 
<option value="1"><?php echo $_SESSION["value1"]; ?></option> 
<option value="2"><?php echo $_SESSION["value2"]; ?></option> 
<option value="3"><?php echo $_SESSION["value3"]; ?></option> 
</select> 


<script type="text/javascript"> 
window.onload = function() { 
function changeContent(){ 
var e = document.getElementById("test"); 
var newval = e.options[e.selectedIndex].value; 
xmlhttp.open("POST","file.php",true); 
xmlhttp.send("value="+newval); 
} 
}; 
</script> 

這如果你想把它存儲到數據庫中,它會在刷新後使它可用,但它有點不同。那麼我們需要更多的信息/你的代碼。

+1

此外,這會將它存儲在一個會話中,所以當我查看頁面時,我會得到(也許)不同的選項,而不是Sergio訪問該頁面或當Rhea訪問該頁面時的不同選項。 –

+1

準確@til_b。這僅僅是「針對每個用戶」。否則應該使用sql /數據庫。 – Sergio

+0

你想看我的代碼。 – Aravin

1

you CAN NOT使用javascript更改值,並期望它是永久的。您可能希望發送ajax變更請求,並在下一次使用更改後的值進行渲染