jquery swtichery增加了额外的开关

时间:2017-02-22 10:48:42

标签: javascript jquery switchery

我正在使用js-switch代表电源的开关。

我从设备获得响应并使用响应以编程方式检查或取消选中按钮。

现在,问题是当我得到响应时,开关数量会增加。这不应该发生。这是我尝试过的:

if($myDiv.length == 0){
                        console.log("not created");
                        $("#display").append(
                            $("<div>").attr({ "id": "powerDiv", "class": "animated flipInY col-lg-6 col-md-6 col-sm-12 col-xs-12" }).append(
                                $("<div>").attr({"class":"tile-stats"}).append(
                                    $("<div>").attr({"class":"count"}).append(
                                        $("<img>").attr({"src":"images/power.png", "class":"module-icon"}).append(" Power")
                                    ).append(
                                        $("<span>").attr({"style":"font-size: 16px;"}).append("Power")
                                    ).append(
                                        $("<div>").attr({ "class": "pull-right paddingRight" }).append(
                                            $("<input>").attr({ "class": "js-switch powerSwitch", "name": "powerSwitch", "type": "checkbox" })
                                        ).attr("onclick", "javascript:Check();")
                                    )
                                )
                            )
                        );
                    } else {
                        console.log("already created");
                    }

                    elems = document.querySelectorAll('.js-switch');
                    mySwitch = new Switchery(elems[elems.length - 1], {
                        color: 'rgb(38,185,154)',
                        jackColor: 'rgb(255,255,255)'
                    });

                    if(on_off == "on") {
                        setSwitchery(mySwitch, true);   
                    } else if(on_off == "off") {
                        setSwitchery(mySwitch, false);  
                    }

当我得到响应时,它会被检查或取消选中,但会再添加一个开关。这不应该发生。我猜错误是elems[elems.length - 1]

我应该更改什么,以便不会创建额外的开关,并且使用相同的开关处理响应?

0 个答案:

没有答案