这段代码组成了一个组合框。
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应用程序中维护以前的颜色状态。
答案 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。