保持以前的状态
问题描述:
这个代码制作组合框。保持以前的状态
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=\"\"> </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应用程序中保留。
答
您提到页面加载,所以一个选项是将颜色选择保存在查询参数中,即使浏览器使用包含颜色选择的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。
对不起,这是什么语言? – deceze 2010-11-10 06:08:38
那么,它肯定不是Javascript,所以这个问题并没有太大的意义。 – deceze 2010-11-10 06:11:05
这是发布包含JavaScript的HTML的Java代码。 – cdhowie 2010-11-10 06:18:10