2013-07-02 64 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变更请求,并在下一次使用更改后的值进行渲染