从数据库而不是数组加载数据

发布于 2024-11-25 09:54:20 字数 1069 浏览 2 评论 0原文

我正在使用 jQuery 插件 Tag-it 自动完成表单输入字段中的标签。该插件加载存储在数组中的可用标签。

$("#mytags").tagit({
    availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
});

我从插件的 javascript 代码中复制了以下函数,我相信它是加载标签的主要函数:

tag_input.autocomplete({
            source: options.availableTags, 
            select: function(event,ui){
                if (is_new (ui.item.value)) {
                    create_choice (ui.item.value);
                }
                // Cleaning the input.
                tag_input.val("");

                // Preventing the tag input to be update with the chosen value.
                return false;
            }
        });

该插件工作正常并自动完成 availableTags 数组中的标签,但是我想对其进行一些小更改。 我不想从数组中加载标签,而是想从 mySQL 数据库表中加载标签。该表具有以下结构:

标签:

tag_id      tag_name
1            c++
2            java
3            php
4            javascript
5            ruby

那么如何从数据库(使用 PHP)自动加载标签名称,而不是从上面的数组加载?谢谢。

I am using a jQuery plugin Tag-it to autocomplete the tags in the form input field. The plugin loads the available tags stored in an array.

$("#mytags").tagit({
    availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
});

I copied following function from the plugin's javascript code, I believe it is main function to load tags:

tag_input.autocomplete({
            source: options.availableTags, 
            select: function(event,ui){
                if (is_new (ui.item.value)) {
                    create_choice (ui.item.value);
                }
                // Cleaning the input.
                tag_input.val("");

                // Preventing the tag input to be update with the chosen value.
                return false;
            }
        });

The plugin works fine and autocomplete the tags from the availableTags array, however I would like to make a small change in it.
Instead of loading the tags from the array, I would like to load tags from mySQL database table. The table has following structure:

tags:

tag_id      tag_name
1            c++
2            java
3            php
4            javascript
5            ruby

So How can I autoload the tag names from the database (using PHP) instead of loading from the above array? Thanks.

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

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

发布评论

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

评论(5

故事还在继续 2024-12-02 09:54:20

是的,你可以喜欢:

而不是

source: options.availableTags

使用这个:

source: function(request, response) {
    var term = request.term // This will hold the text you typed in autocomplete
    $.get(url, data, function(data){
        // Build an array to return
        var dataToReturn = [];
    });
    response(dataToReturn);
}

Yes you can like:

Instead of

source: options.availableTags

use this:

source: function(request, response) {
    var term = request.term // This will hold the text you typed in autocomplete
    $.get(url, data, function(data){
        // Build an array to return
        var dataToReturn = [];
    });
    response(dataToReturn);
}
三生池水覆流年 2024-12-02 09:54:20

该插件似乎基于 jQuery UI Autocomplete,因此代码中的源参数可以是数组、字符串或回调。请参阅

http://jqueryui.com/demos/autocomplete/#remote

了解相应的文档。基本上,您可以将带有 url 的字符串放入服务脚本,该脚本会解析插件分配的 $_GET['term'] 并返回标签数组。

This plugin seems to be based on jQuery UI Autocomplete, so the source parameter in your code may be either an array, a string or a callback. Please refer to

http://jqueryui.com/demos/autocomplete/#remote

for the appropriate documentation. Basically, you can put in a string with a url to your serving script, which parses the $_GET['term'] assigned by the plugin and returns an array of your tags.

七度光 2024-12-02 09:54:20

您可以使用 PHP 动态构建

$("#mytags").tagit({
    availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
});

JavaScript 代码。此博客条目包含一个函数这应该大致就是你所需要的。

You could use PHP to dynamically build up the -

$("#mytags").tagit({
    availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"]
});

JavaScript code. This blog entry contains a function that should be roughly what you need.

于我来说 2024-12-02 09:54:20

查看使用远程数据源的示例。 source 参数是执行 MySQL 查询并返回数据的 php 脚本的名称。

Look at the example for using a remote datasource. The source parameter is the name of a php script which is doing a MySQL query and returning the data.

失与倦" 2024-12-02 09:54:20

我用以下代码解决了同样的问题:

$('#tags').tagit({
    tagSource: function(request, response) {
        var term = request.term;
        $.get("/suggestTags?term=" + term, function(data){
            var dataToReturn = data;
            response(dataToReturn); 
        });
    }
});

I solved the same issue with the following code:

$('#tags').tagit({
    tagSource: function(request, response) {
        var term = request.term;
        $.get("/suggestTags?term=" + term, function(data){
            var dataToReturn = data;
            response(dataToReturn); 
        });
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文