2017-03-21 17 views
5

içinde textboxt değeri olup olmadığını kontrol edin Kullanıcı metin kutuma yazarken veritabanımdaki tüm konumu alacak olan bu kod satırına sahibim. Sorun, kullanıcının metin kutusundaki metni değiştirdiğinde ve yazım başımda bulunmadığında doğrulamak istiyorum?Typeahead

var path = "{{ route('search.location') }}"; 

$('input.typeahead').typeahead({ 
    source: function (query, process) { 
     return $.get(path, { query: query }, function (data) { 
      return process(data); 
     }); 
    } 
}).blur(function() { 
    if(source.indexOf($(this).val()) === -1) 
     alert('Not exists'); 
}); 

Ben .blur fonksiyonunu kullanarak bazı araştırma yaptık ama o iş uyuyamıyrom?

ReferenceError: source is not defined 

cevap

7

Bu, yerel verilerle bir örnektir. Sorgu en az bir öğe ile eşleşiyorsa, numaralı bir değişkeninin true değerine ayarlanır.

$(document).ready(function() { 

var data = [ 
    {value: "Alabama"}, 
    {value: "Delaware"}, 
    {value: "Maine"} 
]; 

var somethingFound = false; 

$("#the-basics .typeahead").typeahead(
{ 
    minLength: 1, 
    highlight: true 
}, 
{ 
    source: function(query, syncResults, asyncResults) { 
     // use query to filter data 
     var filteredData = data.filter(function(e){ 
     return e.value.toLowerCase().startsWith(query.toLowerCase()); 
     }); 
     console.log(filteredData.length); 
     somethingFound = filteredData.length > 0; 
    // return filtered data 
    syncResults(filteredData); 
    } 
}).blur(function(){ 
    if (!somethingFound) { 
    alert('nothing found'); 
    } 
}); 
}); 

see also in Plunker

+0

Bu çalışır. Teşekkürler. – Joseph

+0

Cevabımı doğruladığınız için teşekkür ederiz. Ayrıca cevabımı da ekleyebilir misiniz? –

+0

Benim için çalışıyor – Sergey

İlgili konular