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