fadeIn appendTo 与 ui.item.value

发布于 2024-11-19 21:36:54 字数 1181 浏览 3 评论 0原文

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

最终解决方案

将 ui.item.value 包裹在 html 标签中,这里 标签:

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();
    }
});

}

I'm using jQueryUI's autocomplete widget to retrieve subject names from a MySQL database. When the user selects a subject from the autocomplete list, I want to append that subject to #subjects_container, displaying it with fadeIn. My problem seems to be with syntax, although I haven't been able to see my error.

ui.item.value indeed contains what I want to append

function which retrieves the values:

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" );
    }
});

}

To my dismay, only the checkbox is appended! Perhaps my concatenation is wrong.

Note: hide() and fadeIn() aren't shown here.

Final Solution

Wrap ui.item.value in html tags, here <span> tags:

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();
    }
});

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洒一地阳光 2024-11-26 21:36:56

关于效果部分:

$("<p>My new Content</p>").appendTo("#myWrapper").hide().fadeIn();

关于对象创建:
我认为你需要将你的“ui.item.value”包装在一个html标签中,例如一个span。

总而言之,我会尝试某事。像这样:

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/

希望这有帮助。

Regarding the effect part:

$("<p>My new Content</p>").appendTo("#myWrapper").hide().fadeIn();

Regarding object creation:
I think you need to wrap your "ui.item.value" inside an html tag, e.g. a span.

All in all I would try sth. like this:

var newHTML = '<input class="added_chkboxes" type="checkbox" checked="checked" />' +      
    '<span>ui.item.value</span>';
$(newHTML).appendTo("#subjects_containe").hide().fadeIn();

Here is a dummy example: http://jsfiddle.net/SunnyRed/dB2uT/

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文