gpt4 book ai didi

jquery - Typeahead TypeError : it. toLowerCase 不是函数

转载 作者:行者123 更新时间:2023-12-03 23:05:12 25 4
gpt4 key购买 nike

美好的一天。请先看一下我的剧本。

我的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
});
});

我的 Controller

function outletlists()
{
extract(populateform());
$hasil = $this->modelmodel->showdata("SELECT Outlet from transaksi where outlet like '%".$outlets."%' group by Outlet");
echo json_encode($hasil);
}

和我的表格

 <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>

所以,我正在使用Bootstrap3-typeahead 。从我上面的脚本中我得到了这个错误

来自 console.log(data) 我已经得到了我想要的结果。所以我的问题是我看不到任何建议,然后我从 firebug

收到此错误
return ~it.toLowerCase().indexOf(this.query.toLowerCase());

这是我输入AR时得到的结果

[{"Outlet":"K-AR3"},{"Outlet":"K-AR4"},{"Outlet":"K-ARN2"},{"Outlet":"K-ARN3"}]

任何帮助将不胜感激,抱歉我的英语不好。

我尝试让它像 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
});
});

并且它有效。

来自firebug的结果

POST http://localhost:84/new_store/graph/outletlists 200 OK 375ms
jquery-....min.js (line 4) HeadersPostResponseHTMLCookies

[{"Outlet":"K-AR3"},{"Outlet":"K-AR4"},{"Outlet":"K-ARN2"},{"Outlet":"K-ARN3"}]

TypeError: b.toLowerCase is not a function

...on(a){var b=this.displayText(a);return~b.toLowerCase().indexOf(this.query.toLowe...

bootstr....min.js (line 1, col 2903

我尝试将我的 bootstrap3-typeahead.js 更改为 bootstrap3-typeahead.min.js 最终我的错误变成这样

TypeError: b.toLowerCase is not a function ...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"}]

你只需要

[{"K-AR3"},{"K-AR4"},{"K-ARN2"},{"K-ARN3"}]

所以尝试将您的 Controller 更改为

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);
}

关于jquery - Typeahead TypeError : it. toLowerCase 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38320293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com