Mintik posted
5 year ago

Zelect.js

zSelect

Genellikle  üyelik  formlarında  kullanılan bir özelliktir  select  elementi. Görüntüsü  her yerde  aynı  ve  can sıkıcıdır. Ayrıca  kimi  zaman bazı sitelere  üye olmak istediğimiz  zaman ülke  bilgisi  girmemizi  isterler. Dünyadaki bütün ülkelerin içinde  kendi  ülkeni  bulmak kimileri için zor oluyor. Klavyeden ülke isminin baş harfini yazdığımızda  direk o harfe gidebiliyoruz.  Select elementi içinde ülke  bulmak zor bir şey değil. Bunun daha  zor olan örnekleri de var. Mesela  tarih  ve saat  seçerken  kendi saat dilimimizi  bulmak en zorudur. Hala  bazı forumlara  üye olurken saat  dilimini rastgele  seçerim yada  bana en uygun olan saati seçerim. Bazen Mısır’ı  seçtiğim bile oluyor. Halbuki select elementinde yani tıkladığımızda  açılan o koskocaman listede  bir arama kutusu  olsaydı ne güzel olurdu.

Bazı  geliştiriciler sağ olsunlar bu tarz sıkıntıları gidermek için uygulamalar  geliştiriyorlar. jQuery zSelect  eklentisi de   select  elementinde listelenmiş olan verileri kullanıcıların daha kolay bulmasını sağlayan bir  uygulama. Select elementini tıkladığınız anda eklenmiş olan veriler listeleniyor ve en üst kısımda bir arama kutucuğu görünüyor. Bu arama kutusunda  otomatik tamamlama (autocomplete) özelliği de eklendiği için siz  yazmaya başladığınız andan itibaren yazdıklarınızla alakalı olmayan içerikler  filtrelenerek kayboluyor ve sadece  yazdıklarınızla  alakalı olan sonuçlar listeleniyor. Ayrıca  bildiğimiz select  elementinin  görüntüsü  de  biraz daha farklı.

 Kullanım

  • Head etiketleri arasına eklemeniz gereken bölümler.

Js dosya adresleri : 

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
  <script src="./zelect.js"></script>

 Css : 

 <style>
    body { font-size: 16px; color: #1e1f19; background-color: #f3f3f3; padding: 10px 20px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
    h2, h3, h4 { color: #464646; }
    section { margin-bottom: 40px; }
    section:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

    #intro .zelect {
      display: inline-block;
      background-color: white;
      min-width: 300px;
      cursor: pointer;
      line-height: 36px;
      border: 1px solid #dbdece;
      border-radius: 6px;
      position: relative;
    }
    #intro .zelected {
      font-weight: bold;
      padding-left: 10px;
    }
    #intro .zelected.placeholder {
      color: #999f82;
    }
    #intro .zelected:hover {
      border-color: #c0c4ab;
      box-shadow: inset 0px 5px 8px -6px #dbdece;
    }
    #intro .zelect.open {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
    #intro .dropdown {
      background-color: white;
      border-bottom-left-radius: 5px;
      border-bottom-right-radius: 5px;
      border: 1px solid #dbdece;
      border-top: none;
      position: absolute;
      left:-1px;
      right:-1px;
      top: 36px;
      z-index: 2;
      padding: 3px 5px 3px 3px;
    }
    #intro .dropdown input {
      font-family: sans-serif;
      outline: none;
      font-size: 14px;
      border-radius: 4px;
      border: 1px solid #dbdece;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      width: 100%;
      padding: 7px 0 7px 10px;
    }
    #intro .dropdown ol {
      padding: 0;
      margin: 3px 0 0 0;
      list-style-type: none;
      max-height: 150px;
      overflow-y: scroll;
    }
    #intro .dropdown li {
      padding-left: 10px;
    }
    #intro .dropdown li.current {
      background-color: #e9ebe1;
    }
  </style>

 JavaScript : 

  <script>
    $(setup)

    function setup() {
      $('#intro select').zelect({ placeholder:'Plz select...' })
    }
  </script>
  •  Body etiketleri arasına eklemeniz gereken bölüm.

Html : 

  <section id="intro">
    <h2>$('select').zelect()</h2>
    <select>
      <option>I really have</option>
      <option>to think of some</option>
      <option>significantly more</option>
      <option>relevant example data</option>
      <option>here.</option>
      <option>Also, need more and longer items</option>
      <option>to demo scroll</option>
    </select>
  </section>
Tags:
select
Mintik is curious about your thoughts. Add a comment
Did you know that members who log in don't see ads?
Sign in with E-mail