jqueryの複数のオートコンプリートに取り組んでいますが、何かを入力している間、一致するアイテムではなく、すべてのアイテムが公開されます。私のJavascriptは
$('.tags').bind("keydown", function(event) {
if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) {
event.preventDefault();
}
}).autocomplete({
source : function(request, response) {
$.getJSON($.cookie('base_url') + "js/getaddressbook.php", {
term : extractLast(request.term)
}, response);
},
search : function() {
var term = extractLast(this.value);
if (term.length < 2) {
return false;
}
},
focus : function() {
return false;
},
select : function(event, ui) {
var terms = split(this.value);
terms.pop();
terms.push(ui.item.value);
terms.push("");
this.value = terms.join("; ");
return false;
}
});
js/getaddressbook.phpは
["gunjan.soni"、 "askhr"、 "saurabh.burman"、 "Aditi.Nehra"、 "ithelpdesk"、 "shipra.kwatra"、 "gagandeep.manchanda"]
どこが間違っているのかわからない。
以下はそれがどのように見えるかのスナップショットです
助けてください!
私のJSコントローラーには機能があります
Public function getaddressbook() {
$this -> load -> model('common_model');
$data = $this -> common_model -> addressbook();
echo json_encode($data);
}
そしてcommon_modelは関数を持っています
Public function addressbook()
{
$this -> db -> select('emailid');
$this -> db ->where('emailid <>','');
$result = $this -> db -> get('addressbook');
if ($result -> num_rows() > 0)
{
foreach ($result->result() as $row)
{
$data[] = $row -> emailid;
}
return ($data);
}
else
{
return FALSE;
}
}