Добрый день. Сначала взгляните на мой скрипт.Typeahead TypeError: it.toLowerCase не является функцией
Мой 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
});
});
Мой контроллер
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...
что "~ это здесь? –
Я не знаю. Он появляется из firebug – YVS1102
print/console log your '~ it' сначала, затем примените toLowerCase(), отлаживайте его шаг за шагом –