我正在动态地向HTML添加复选框,而jquery不会更新样式。我读到了类似的问题并尝试在父级上调用.trigger(“create”),但仍无法正常工作。以下是小提琴内容:http://jsfiddle.net/ftraian/A4duX/1/
<div id="checkboxes"></div>
Enter new labels here: <textarea></textarea>
从textarea读取标签并将其添加到复选框div:
的脚本var index = '1';
$(document).ready(function () {
var text = 'Predifined label';
var cbElem = $("<input type=\"checkbox\" id=\"" + index + "\">");
var labelElem = $("<label for=\"" + index + "\">" + text + "</label> ");
$('#checkboxes').append(cbElem, labelElem);
$('#checkboxes').buttonset();
});
$('textarea').bind("enterKey", function () {
index++;
var text = $('textarea').val().replace(/(\r\n|\n|\r)/gm, "");
var cbElem = $("<input type=\"checkbox\" id=\"" + index + "\">");
cbElem.button();
var labelElem = $("<label for=\"" + index + "\">" + text + "</label> ");
$('#checkboxes').append(cbElem, labelElem);
$('#checkboxes').trigger("create");
$('textarea').val('');
});
$('textarea').keyup(function (e) {
if (e.keyCode == 13) {
$(this).trigger("enterKey");
}
});
答案 0 :(得分:0)
删除该行:
cbElem.button();
并在bind()
事件结尾添加以下行:
$('#checkboxes').buttonset();
旁注:jQuery 1.7不推荐使用bind()
,应该使用on
(虽然这不是导致问题的原因)。