Php Ajax Json搜索并填充输入字段

时间:2013-04-03 05:25:59

标签: php jquery ajax json search

我需要执行搜索并将其动态保存在输入字段中。我是Ajax的新手。

这就是我所做的。 从数据库进行查询并使用json编码如下

[{"id":"1","name":"Jack"},{"id":"2","name":"Ace"},{"id":"3","name":"Test"}]

现在有一个带有name输入字段的表单(注意:只允许来自数据库的现有名称)。当输入名称时,我需要在Json中执行搜索并获取名称并显示在输入字段下方(谷歌搜索显示相关搜索词的确切方式),点击后该名称应该是可点击的,应该使用该名称填充输入文本。并且还使用相应的id更改隐藏输入字段的值。

<input id="name" type="text" name="name">
<input id="id" type="hidden" name="id">

正如我之前所说,只允许列表中的名称,如果输入的非现有名称隐藏元素不应该有值或0。

我怎样才能完成它?它应该进行优化(快速),因为它必须在大量数据中搜索大约15k-20k的名称。

1 个答案:

答案 0 :(得分:2)

检查我为你的要求创建的小提琴,我使用自动完成方法

http://jsfiddle.net/X85LT/

var src = [{
"label": "Jack",
    "value": "1"
}, {
    "label": "back",
        "value": "2"
}, {
    "label": "tera",
        "value": "3"
}, {
    "label": "judo",
        "value": "4"
}];

$('.name').change(function() {
 $('.value').val(0);
});

$(".name").autocomplete({
    source: src,
    select: function (event, ui) {
        event.preventDefault();
        this.value = ui.item.label;
        $('.value').val(ui.item.value);
    }
});

// html

<input type="text" class="name" />
<input type="text" class="value" />