YII2如何将查询结果发送到jquery自动完成?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YII2如何将查询结果发送到jquery自动完成?相关的知识,希望对你有一定的参考价值。
所以我想在textarea中使用jquery自动完成,我想要使用的值来自一个查询(来自Yii2中的'RetornaTabelas'类)在这个类中我得到了方法getTableNames:
public function getTableNames($db) {
$queryTemp = new Query;
$queryTemp->select('con_name')
->from('MyTable');
$tablesName = $queryTemp->All();
$commandAux = $queryTemp->createCommand();
$tablesName = $commandAux->queryAll();
foreach ($tablesName as $tname) {
$sql= "
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='".$tname."';
";
$transaction = Yii::$app->db->beginTransaction();
$connection = Yii::$app->db;
$command = $connection->createCommand($sql)->execute();
$transaction->commit();
return BaseJson::encode($command);
}
}
我的javascript函数:
$(function() {
$.getJSON('HOW TO PUT THE DATA FROM MY CLASS HERE ?', function(data){
var cliente = [];
// Armazena na array capturando somente o nome do cliente
$(data).each(function(key, value) {
table.push(value);
});
// Chamo o Auto complete do JQuery ui setando o id do input, array com os dados e o mínimo de caracteres para disparar o AutoComplete
$('.ace_text_input').autocomplete({ source: table, minLength: 3});
});
答案
- 在您的控制器/操作中,将数据作为数组返回。像
return Post::find()->where(['slug'=>$slug])->asArray()->all();
或只是返回一个yiihelpersJson::encode(...)
'd对象 - 用你的javascript用params调用这个url。
<?= Url::to(['mycontroller/myaction']) ?>
是我无需硬编码即可获取网址的方法
以上是关于YII2如何将查询结果发送到jquery自动完成?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 php mysql 查询中为 jQuery 自动完成准备多维数组?
如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成