我目前正在为我的一个表单中的文本输入创建一个jQuery自动完成功能。我现在正在使用Codeigniter。
这是我的模型代码
function get_names()
{
$query = $this->db->query("SELECT CONCAT(tbl_applicant.fname, ' ', tbl_applicant.lname) AS name FROM tbl_applicant INNER JOIN tbl_employee ON tbl_employee.apid=tbl_applicant.apid INNER JOIN tbl_account ON tbl_account.acc_id=tbl_employee.acc_id WHERE tbl_account.acc_description LIKE '%Agent%' AND tbl_employee.isActive LIKE '%yes%'");
return $query->result();
}
这是我的控制器
public function index()
{
if($this->session->userdata('uid'))
{
$data['kudos'] = $this->KudosModel->get_kudos();
$data['acc'] = $this->KudosModel->get_accounts();
$data['name'] = $this->KudosModel->get_names();
$this->load->view('kudoslist',$data);
}
else
{
redirect('index.php/login');
}
}
这是我的JavaScript / jQuery
$(function(){
var names="";
"use strict";
var obj = JSON.parse(<?php echo "'".json_encode($name)."'"; ?>);
$.each( obj, function( key, value ) {
names += ',"'+value.name+'"';
});
// names += "]";
var all = [names];
console.log(all);
$("#addAmbassadorName2").autocomplete({source: all});
});
现在它显示了这些数据 here is the image
希望你能帮助我。谢谢!
答案 0 :(得分:1)
根据现有代码,您可以创建字符串Vector2 start = new Vector2(10, 10);
Vector2 end = new Vector2(100,100);
ShapeRenderer shapeRenderer=new ShapeRenderer();
shapeRenderer.setProjectionMatrix(cam.combined);
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.setColor(Color.BLACK);
shapeRenderer.line(start, end);
shapeRenderer.end();
。根据您的理解,您需要创建一个数组,以便可以使用.map()
。
names += ',"'+value.name+'"';
答案 1 :(得分:0)
如果您希望它是一个数组,请尝试更改您自己的代码:
$(function() {
var names = [];
"use strict";
var obj = JSON.parse( <? php echo "'".json_encode($name).
"'"; ?> );
$.each(obj, function(key, value) {
names.push(value.name);
});
// names += "]";
console.log(all);
$("#addAmbassadorName2").autocomplete({
source: names
});
});
&#13;
如果您想要一种简单的方法,请尝试:
var all = obj.map(function (value) {
return value.name;
});