WordPress表的jQuery UI自动完成

I´ve created a table in WordPress called 'diseases' and I want to access to it with a autocomplete input from a plugin. jQuery UI Autocomplete 1.11.4 is already included. There is no error but autocomplete do not work. I get access to the database and the response in the console equal the searched term.

TABLE

code      text
B15.0     Epidemischer Ikterus mit Coma hepaticum
...       ....

HTML

<input type="text" name="mybox" id="mybox" />

JS

jQuery(function() {
    jQuery('#mybox').autocomplete({

        // add the way to the file with database query

        source : '../wp-content/plugins/termbrowser/controllers/tags.php',
        minLength : 3,

        // what happens when user chooses autocomlete suggestion

        onSelect : function(suggestion) {
            alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
        }
    });
});

PHP

require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-config.php');
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-load.php');

$query = isset($_GET['term']) ? $_GET['term'] : FALSE;

    global $wpdb;
    $table = $wpdb->prefix . 'diseases';

    $depts = $wpdb->get_results( "select text from $table where text like '" . $query . "%' order by length(text)"  );

    foreach($depts as $row) {
        $data['value'] = $row->text;
        $data['data'] = $row->code;
    }
    $response = array(
        'suggestions' => $data
    );

   echo json_encode ($response);
dongping4273
dongping4273 $query似乎总是错误的
大约 3 年之前 回复
dongshi8425
dongshi8425 是的,它是一个数组
大约 3 年之前 回复
doushi8599
doushi8599 你能检查你的源URL它是一个JSON吗?
大约 3 年之前 回复

1个回答

Try using 'term' instead of 'query' here you can see the example of the plugin. Notice that you need to return a JSON array with id label value:

"id"=>$value, "label"=>$key, "value" => strip_tags($key)

no inside 'suggestions'

dongzhong7299
dongzhong7299 在检查示例时,我更新了我的答案。
大约 3 年之前 回复
du229908
du229908 谢谢大卫,你是绝对正确的! 但自动完成仍然无法正常工作。 我没有得到任何建议。
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐