Javascript 将带有jquery的复选框添加到div中
我想在一个div中添加一个复选框到另一个div中(id=“#sensorList”),然后将一些事件处理程序绑定到它。 我是这样做的Javascript 将带有jquery的复选框添加到div中,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我想在一个div中添加一个复选框到另一个div中(id=“#sensorList”),然后将一些事件处理程序绑定到它。 我是这样做的 /* Add div */ $("#sensorList").append($('<div>', { id : sensorId}) .addClass("sensorListItem") .text(sensorId) ); /* Adds visibile checkbox */ $("#"+sensorId).append($('<inp
/* Add div */
$("#sensorList").append($('<div>', { id : sensorId})
.addClass("sensorListItem")
.text(sensorId)
);
/* Adds visibile checkbox */
$("#"+sensorId).append($('<input>', { id : sensorId + "VisibleCheckbox", type:"checkbox", name: sensorId + "VisibleCheckbox"}));
/*添加div*/
$(“#传感器列表”).append($('',{id:sensorId})
.addClass(“传感器列表项”)
.文本(传感器ID)
);
/*添加可视复选框*/
$(“#”+sensorId).append($('',{id:sensorId+“VisibleCheckbox”,键入:“checkbox”,名称:sensorId+“VisibleCheckbox”}));
它似乎工作正常,但如果我点击复选框,它不会切换到选中状态
有什么想法吗?
先谢谢你
对不起,我知道问题出在哪里了。
我无法看到选中的复选框,因为我在div上有一个名为sensorId的单击处理程序,我愚蠢地做了:event.preventDefault()(单击div没有默认行为!!!)试试看它是否有效
$("#"+sensorId).append('<input type="checkbox" id="' + sensorId + 'VisibleCheckbox" name="' + sensorId + 'VisibleCheckbox" >');
$(“#”+sensorId).append(“”);
这对我很有用。查看JSFIDLE:
var sensorId=“一”;
/*添加div*/
$(“#传感器列表”).append($('',{id:sensorId})
.addClass(“传感器列表项”)
.文本(传感器ID)
);
/*添加可视复选框*/
$(“#”+sensorId).append($('',{id:sensorId+“VisibleCheckbox”,键入:“checkbox”,名称:sensorId+“VisibleCheckbox”}));
$(“输入[type=checkbox]”)。每个(函数(){
这个。单击();
log(“应为true:,this.checked”);
});
$(“输入[type=checkbox]”)。每个(函数(){
这个。单击();
log(“应为false:,this.checked”);
});
您确定没有任何其他代码阻止checbox的默认操作,或者您只是在其上放置了另一个元素。
var sensorId = "one";
/* Add div */
$("#sensorList").append($('<div>', { id : sensorId })
.addClass("sensorListItem")
.text(sensorId)
);
/* Adds visibile checkbox */
$("#"+sensorId).append($('<input>', { id : sensorId + "VisibleCheckbox", type:"checkbox", name: sensorId + "VisibleCheckbox"}));
$("input[type=checkbox]").each(function(){
this.click();
console.log("Should be true:", this.checked);
});
$("input[type=checkbox]").each(function(){
this.click();
console.log("Should be false:", this.checked);
});