请教一个js问题
<script type="text/javascript">function Change(moren){
var objS= document.getElementById("bgid");
var col= objS.options.value;
if (col==""){
var col= moren;
}
if (col=="col1")
{objS.style.background = "green";}
if (col=="col2")
{objS.style.background = "red";}
}
</script>
<select name="color" size="1" id="bgid" onchange="Change()">
<option value="" style='background-color:#FFFFFF'>
<option value=col1 style='background-color:green'>绿色
<option value=col2 style='background-color:red'>红色
</select>
<span onclick="Change('col1')">绿</span>
<span onclick="Change('col2')">红</span>
现在的情况是,打开页面时,点击文字 红 绿,可以更改下拉项的背景颜色,但从下拉框中选择一项后,再点击文字 红 绿,就无法改变了,要怎么写正确? 本帖最后由 hansson 于 2020-8-11 16:35 编辑
if (col==""){
var col= moren;
}
当你选择下拉以后,col就不等于空了
col= moren
这句就不再执行了,所以
亲测了一下:
<script type="text/javascript">
function Change(moren){
var objS= document.getElementById("bgid");
var col=""
if (moren){
col= moren;
}
else{
col= objS.options.value;
}
if (col=="col1")
{objS.style.background = "green";}
if (col=="col2")
{objS.style.background = "red";}
}
</script> 本帖最后由 hansson 于 2020-8-11 16:35 编辑
参考楼上。 <option value=col1 style='background-color:green'>还少个双引号 if (col==""){
var col= moren;
}
这段有问题。
改为:
if (typeof(moren) != "undefined"){
col= moren;
}
即可 这两行
if (col=="col1")
{objS.style.background = "green";}
if (col=="col2")
{objS.style.background = "red";}
改为:
if (moren=="col1")
{objS.style.background = "green";}
if (moren=="col2")
{objS.style.background = "red";}
应该能达到楼主的需要。 亲测了一下:
<script type="text/javascript">
function Change(moren){
var objS= document.getElementById("bgid");
var col=""
if (moren){
col= moren;
}
else{
col= objS.options.value;
}
if (col=="col1")
{objS.style.background = "green";}
if (col=="col2")
{objS.style.background = "red";}
}
</script>
页:
[1]