fadeIn appendTo with ui.item.value

时间:2011-07-11 19:24:50

标签: jquery autocomplete appendto

我正在使用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();
    }
});

}

1 个答案:

答案 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/

希望这有帮助。