我正在使用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]
。
我应该更改什么,以便不会创建额外的开关,并且使用相同的开关处理响应?