YVS*_*102 5 ajax jquery twitter-bootstrap codeigniter-3
美好的一天。请先看看我的评论。
我的JS
$(document).ready(function(){
$("#outlet").typeahead({
source: function(query, process) {
$.ajax({
url: '<?=base_url();?>graph/outletlists',
data: {outlets:$("#outlet").val()},
type: 'POST',
dataType: 'JSON',
success: function(data) {
process(data);
console.log(data);
}
});
},
minLength: 2
});
});
Run Code Online (Sandbox Code Playgroud)
我的控制器
function outletlists()
{
extract(populateform());
$hasil = $this->modelmodel->showdata("SELECT Outlet from transaksi where outlet like '%".$outlets."%' group by Outlet");
echo json_encode($hasil);
}
Run Code Online (Sandbox Code Playgroud)
和我的表格
<div class="form-group">
<label class="col-sm-3 control-label">Outlet</label>
<div class="col-sm-5">
<input type="search" id="outlet" class="form-control" placeholder="Search..." data-provide="typeahead" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
所以,我正在使用Bootstrap3-typeahead。从上面的脚本中我收到此错误
从console.log(data)我已经有我想要的结果。所以我的问题是我看不到任何建议,然后我从firebug
return ~it.toLowerCase().indexOf(this.query.toLowerCase());
Run Code Online (Sandbox Code Playgroud)
这是我输入时得到的 AR
[{"Outlet":"K-AR3"},{"Outlet":"K-AR4"},{"Outlet":"K-ARN2"},{"Outlet":"K-ARN3"}]
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,对不起,我的英语不好。
我尝试使其像http://twitter.github.io/typeahead.js/examples/中的示例一样
var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
];
$(document).ready(function() {
$("#outlet").typeahead({
autoSelect: true,
minLength: 2,
delay: 400,
source: states
});
});
Run Code Online (Sandbox Code Playgroud)
它起作用。
由于。。。导致的结果 firebug
POST http:// localhost:84 / new_store / graph / outletlists 200 OK 375ms
jquery -.... min.js(第4行)标头PostResponseHTMLCookies[{“插座”:“ K-AR3”},{“插座”:“ K-AR4”},{“插座”:“ K-ARN2”},{“插座”:“ K-ARN3”}]
TypeError:b.toLowerCase不是函数
... on(a){var b = this.displayText(a); return〜b.toLowerCase()。indexOf(this.query.toLowe ...
bootstr .... min.js(第1行,col 2903
我试图改变自己bootstrap3-typeahead.js以bootstrap3-typeahead.min.js结束我的错误成为这样
TypeError:b.toLowerCase不是函数... on(a){var b = this.displayText(a); return〜b.toLowerCase()。indexOf(this.query.toLowe ...
正如我从你的console.log(). 你明白了。
[{"Outlet":"K-AR3"},{"Outlet":"K-AR4"},{"Outlet":"K-ARN2"},{"Outlet":"K-ARN3"}]
Run Code Online (Sandbox Code Playgroud)
你只需要
[{"K-AR3"},{"K-AR4"},{"K-ARN2"},{"K-ARN3"}]
Run Code Online (Sandbox Code Playgroud)
所以尝试将您的控制器更改为
function outletlists()
{
extract(populateform());
$hasil = $this->modelmodel->showdata("SELECT Outlet from transaksi where outlet like '%".$outlets."%' group by Outlet");
$data = array();
foreach ($hasil as $hsl)
{
$data[] = $hsl->Outlet;
}
echo json_encode($data);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10798 次 |
| 最近记录: |