Daha önce PHP’den ASP’ye çevirdiğim bir otomatik tamamlama sistemi vardı. Bu ufak scriptte, aşağı ve yukarı tuşlarıyla seçim yapılamadığı ve Türkçe karakterlerde sorunlar olduğu yorum yapan arkadaşlar tarafından yazılmıştı. Açıkça söylemek gerekirse o script üzerinde vakit bulup uğraşamadım. Fakat scripti bir yerde kullanmam gerekince uğraşmamak ile hata yaptığımı anladım ve yeni bir script üzerinde çalışmanın daha mantıklı olacağını düşündüm.
(daha&helliip;)
Etiket: suggest
-
ASP ve Jquery ile otomatik tamamlama (auto complete) sistemi – 2
-
ASP ve Jquery ile otomatik tamamlama (auto complete) sistemi
Bu scriptin farklı bir versiyonunu burada görebilirsiniz.Bugün, otomatik tamamlama (auto complete) olarak geçen bu sistemin ASP versiyonu için R10 forumda bir istek gördüm ve bu sayfadaki PHP ile yapılmış versiyonu ASP ile yapmaya karar verdim. Sadece sorgulama yapılan sayfayı asp için uyarladım. Geri kalan tüm kodlar orijinal siteye aittir.
Ayrıca veritabanı olarak Hakan Şen’in yapmış olduğu İller ve İlçeler Veritabanı’nın MS Access versiyonunu kullandım.
Script içinde kullanılan kodlar aslında oldukça basit..
Javascript
function lookup(inputString) { if(inputString.length == 0) { // herhangi bir değer girilmemişse sonuç kutuyu gösterme $('#suggestions').hide(); } else { $.post("sorgu.asp", {queryString: ""+inputString+""}, function(data){ //sorgu.asp sayfasından dönen sonuç sıfırdan büyükse sonuç kutusunu göster if(data.length >0) { $('#suggestions').show(); $('#autoSuggestionsList').html(data); } }); } } function fill(thisValue) { $('#inputString').val(thisValue); setTimeout("$('#suggestions').hide();", 200); }
İlk fonksiyon sorgu.asp sayfasını kullanarak veritabanından uyan kayıtları çekmeye ve kullanıcıya göstermeye yarıyor.
İkinci fonksiyon ise sonuç kutusundan seçilen değerin inputa aktarılmasını ve sonra kutunun gizlenmesini sağlıyor.ASP (sorgu.asp)
'Veritabanı bağlantımızı oluşturuyoruz Set conn = Server.CreateObject("ADODB.Connection") dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("iller.mdb") conn.open dsn 'Formdan gelen veriyi alıyoruz aranan = Request.Form("queryString") 'Recordset açılıyor Set RS=Server.CreateObject("ADODB.Recordset") 'Gelen veriyi veritabanında sorgulayacak sql cümlesini yazıyoruz Sql = "Select * From ilceler Where ilce Like '" & aranan & "%' Order By ilce" RS.Open Sql, conn, 1, 3 If RS.RecordCount > 0 Then 'Veritabanından dönen kayıt sayısı sıfırdan büyükse i = 1 'Toplam 10 kayıt listeliyoruz Do While Not RS.EOF And i < 11 Response.Write ("
- "&RS("ilce")&"
") i = i + 1 RS.MoveNext Loop End If RS.Close conn.CloseUygulamanın çalışan versiyonunu görmek için buraya,
Uygulamayı indirmek için buraya tıklayınız. Umarım işinize yarar.