我正在使用jQueryUI的自动完成小部件从MySQL数据库中检索主题名称。当用户从自动完成列表中选择一个主题时,我想将该主题附加到#subjects_container,并使用fadeIn显示它。我的问题似乎是语法,虽然我无法看到我的错误。
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()。
最终解决方案
在html标记中包装ui.item.value,此处<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();
}
});
}
答案 0 :(得分:0)
关于效果部分:
$("<p>My new Content</p>").appendTo("#myWrapper").hide().fadeIn();
关于对象创建: 我想你需要将你的“ui.item.value”包装在一个html标签中,例如一个跨度。
总而言之,我会尝试......像这样:
var newHTML = '<input class="added_chkboxes" type="checkbox" checked="checked" />' +
'<span>ui.item.value</span>';
$(newHTML).appendTo("#subjects_containe").hide().fadeIn();
以下是一个虚拟示例:http://jsfiddle.net/SunnyRed/dB2uT/
希望这有帮助。