将带有jquery的复选框添加到div中

时间:2012-10-23 17:30:05

标签: javascript jquery html checkbox

我想在div中添加一个复选框到另一个div(id =“#sensorList”),然后将一些事件处理程序绑定到它。 我是这样做的

/* 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上有一个名为sensorId的点击处理程序,我愚蠢地做了:event.preventDefault()(点击div没有默认行为!!!)

2 个答案:

答案 0 :(得分:2)

尝试一下,看看它是否有效......

$("#"+sensorId).append('<input type="checkbox" id="' + sensorId + 'VisibleCheckbox" name="'  + sensorId + 'VisibleCheckbox" >');

答案 1 :(得分:2)

它对我有用。查看jsfiddle:http://jsfiddle.net/pVjNM/

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);
});​