1
我正在使用typeahead来提取名称,然后使用相应名称的id更新隐藏字段。在我的表格中,名称可以留空,填写并不是必需的。将自定义函数添加到引导程序typeahead
有没有办法将自定义错误检查添加到typeahead函数?例如,我开始填写表单并键入/选择一个用户,然后我改变了主意并想让它保持空白。到此为止,用户标识已经添加到隐藏字段中,因此即使我将名称字段留空,表单也会与其中的用户标识一起传递。
我想我总是可以在提交时进行错误检查,但是好奇的是,如果有方法添加到本机api。
我的代码是:
$('#name_field').typeahead({
minLength: 3,
source: function (query, process){
$.get('/url/getsource', {query: query}, function (data) {
names = [];
map = {};
$.each(data, function (i, name) {
map[name.uName] = name;
names.push(name.uName);
});
process(names);
});
},
matcher: function (item) {
if (item.toLowerCase().indexOf(this.query.trim().toLowerCase()) != -1) {
return true;
}
},
sorter: function (items) {
return items.sort();
},
highlighter: function (item) {
var regex = new RegExp('(' + this.query + ')', 'gi');
return item.replace(regex, "<strong>$1</strong>");
},
updater: function (item) {
selectedID = map[item].id;
$('#id_field').val(selectedID);
return item;
}
});
我希望我可以添加类似
$('#name_field').typeahead({
myCustom: function(){
if($('#name_field').val() == ''){
$('#id_field').val('');
},
rest,
of the,
function
});
并使该功能独立于.typehead()? – Mike
是的,你将不得不因为没有办法使用独立的API来做到这一点 – greenimpala
是否有任何意义将它链接到.typeahead(之前或之后)或只是保持它完全独立? – Mike