保持以前的状态

问题描述:

这个代码制作组合框。保持以前的状态

public String getColor(String colorName) 
{ 
mySB.append("<select onchange=\"ChangeColor(this);\" style=\"font-size:0.8em;\" id=\"").append(colorName).append("\" name=\"").append(colorName).append("\">") 
      .append("<option value=\"\">&nbsp;</option>"); 
} 
function ChangeColor(colors) { 
var partcolor = (colors.options[colors.selectedIndex].value); 

if (partcolor=="black"){ 
    document.getElementById("colorRow").style.backgroundColor = 'black'; 
} 
else if(partcolor=="brown") { 
document.getElementById("colorRow").style.backgroundColor ='brown'; 
} else if(partcolor=="yellow") { 
document.getElementById("colorRow").style.backgroundColor ='yellow'; 
} 

}

我要动态更新使用JavaScript组合框颜色选择。当页面重新加载时,之前的颜色状态可以在Java应用程序中保留。

+1

对不起,这是什么语言? – deceze 2010-11-10 06:08:38

+0

那么,它肯定不是Javascript,所以这个问题并没有太大的意义。 – deceze 2010-11-10 06:11:05

+3

这是发布包含JavaScript的HTML的Java代码。 – cdhowie 2010-11-10 06:18:10

您提到页面加载,所以一个选项是将颜色选择保存在查询参数中,即使浏览器使用包含颜色选择的URL在ChangeColor()中重新加载同一页面,如下所示:http://...myurl...?color=purple,然后在onLoad()期间检查URL参数。

根据您的设计,您可能只需使用JavaScript动态更新颜色选择而无需重新加载页面?

像这样:

<div id="to_update_later"></div> 

<script> 
    function ChangeColor(color) { 
     document.getElementById("to_update_later").innerText = "The color " + color; 
    } 
</script> 

这个例子说明如何动态地从一个JavaScript函数替换div标签的内容。也可以追加而不是替换。有关操纵网页的HTML DOM对象的教程,请参见例如http://www.w3schools.com/js/js_ex_dom.asp

+0

是的,先生,我想动态更新颜色选择。 – singh 2010-11-10 06:24:23

+0

我用动态更新示例 – 2010-11-10 07:09:51

+0

更新了答案,请查看我的代码。 – singh 2010-11-10 07:50:39