我想在组合框html中选择一个选项,并改变适当对象SVG。
这是我遇到问题的代码:
我的对象:
<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg">
<rect id="cercle1" x="0" y="0" width="50" height="50" stroke-width="1" stroke="#0E0E0E" style="fill:red; stroke:black; stroke-width:2"; />
</svg>
<select onchange="select()" id="selectobject">
<option value="rect" >Rectangle rouge</option>
<option value="circle">Circle vert</option>
<option value="rectb">Resctangle Blue</option>
</select>
<label> chousir colour </label>
<select onchange="select()" id="selectcolour">
<option value="rouge" >Rouge</option>
<option value="vert">Vert</option>
<option value="blue">Blue</option>
<option value="noir">Noir</option>
</select>
<button onclick="setColor();">Generate</button>
和javascript
function select(){
var selected = document.getElementById("selectobject").value;
var selectedcolour = document.getElementById("selectcolour").value;
if (selected == "rect" && selectedcolour == "rouge" ){
alert("rectangle rouge");
//function setColor(){
document.getElementById("cercle1").style.fill = blue;
//}
}
}
当选择选项时,我无法更改颜色。
感谢您的帮助。
答案 0 :(得分:0)
在&#34; blue&#34;中添加引号,如下所示:
document.getElementById(&#34; cercle1&#34;)。style.fill =&#34; blue&#34 ;;
这将有效:
function select(){
var selected = document.getElementById("selectobject").value;
var selectedcolour = document.getElementById("selectcolour").value;
if (selected == "rect" && selectedcolour == "rouge" ){
alert("rectangle rouge");
setColor("blue");
}
}
function setColor(color){
document.getElementById("cercle1").style.fill = color;
}