##Bootstrap typeahead 插件的坑
typeahead 自动补全插件,
还是先简单记录一下,如何使用吧:
<div class="form-group">
<label class="col-sm-3 control-label is-required">医生:</label>
<div class="col-sm-8">
<input hidden id="hiddenDoctor" name="doctorId">
<input id="doctorName" class="form-control" type="text" required>
</div>
</div>
$.get(ctx + "treatment/log/doctor/auto/list", function(data){
$("#doctorName").typeahead({
source: data.value,
updater: function (item) {
$("#hiddenDoctor").val(item.id)
return item.name;
}
});
},'json');
这样就实现了一个自动补全。
typeahead 的做法好像是页面加载后就调用接口,然后再根据输入的关键字进行过滤
如果数据量很大,我觉得这种方式不可取。
我使用Bootstrap typeahead遇到的坑
1.自动补全的返回值字段必须叫name
所以如果你想对某个字段进行自动补全,后端返回数据时,必须将这个字段命名为name。
2.name字段不能含有null
第一个条件是字段必须叫name,第二个条件就是name字段不能是null。返回的列表数据,只要有一个name的字段为null,自动补全就用不了