保持以前的状态

时间:2010-11-10 06:05:42

标签: java javascript javascript-events

这段代码组成了一个组合框。

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 个答案:

答案 0 :(得分:0)

你提到页面加载,所以一个选项是将颜色选择保存在查询参数中,即让浏览器在ChangeColor()中重新加载相同页面,其URL包含如下颜色选项:{{3}然后检查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://...myurl...?color=purple