我正在使用 jQueryUI 的自动完成小部件从 MySQL 数据库中检索主题名称。当用户从自动完成列表中选择一个主题时,我想将该主题附加到#subjects_container,并使用淡入淡出显示它。我的问题似乎与语法有关,尽管我无法看到我的错误。
ui.item.value 确实包含我要附加的内容
检索值的函数:
function autocompletejq() {
$( "#autocomplete" ).autocomplete({
source: "autocomplete.php",
minLength: 1,
delay: 0,
select: function(event, ui) {
alert(ui.item.value);
$( "<input class=\"added_chkboxes\" type=\"checkbox\" checked=\"checked\" />" + ui.item.value + "").appendTo( "#subjects_container" );
}
});
}
令我沮丧的是,只附加了复选框!也许我的串联是错误的。
注意:此处未显示 hide() 和 fadeIn()。
最终解决方案
将 ui.item.value 包装在 html 标签中,这里的<span>
标签:
function autocompletejq() {
$( "#autocomplete" ).autocomplete({
source: "autocomplete.php",
minLength: 1,
delay: 0,
select: function(event, ui) {
alert(ui.item.value);
$( "<input class=\"added_chkboxes\" type=\"checkbox\" checked=\"checked\" /><span>" + ui.item.value + "</span>" ).appendTo( "#subjects_container" ).hide().fadeIn();
}
});
}