4

我想将一个复选框添加到一个 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 时没有默认行为!!!)

4

2 回答 2

3

尝试一些长手,看看它是否有效......

$("#"+sensorId).append('<input type="checkbox" id="' + sensorId + 'VisibleCheckbox" name="'  + sensorId + 'VisibleCheckbox" >');
于 2012-10-23T17:34:33.887 回答
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);
});​
于 2012-10-23T17:41:04.290 回答