选择选项并更改适当对象svg

时间:2014-10-15 15:33:16

标签: javascript html

我想在组合框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;
                        //}

                    }

}

当选择选项时,我无法更改颜色。

感谢您的帮助。

1 个答案:

答案 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;
                        }