SORU
9 Ocak 2013, ÇARŞAMBA


Select2 AJAX ile etiketleme

select2 etiketleme yapıyorum

Select2 ile bu gereksinimleri var:

  1. Bazı etiketler select2 ajax kullanarak arama yapmak istiyorum
  2. Ayrıca gerek genel olarak "etiketler listesinde olmayan bir değer Verir(Ajax sonucu)" select2.

Her iki senaryolardan bağımsız olarak çalışır. Ama birbirlerine aJax değerleri sadece doldurulur. Biz listede olmayan başka bir değer yazın, sonra da diyor ki, "eşleşme bulunamadı"

Kullanıcı yazarsanız benim senaryo listesinde olmayan yeni bir değer, onları kendi etiket yapmak için izin verin.

Bu işi yapmak için bir yolu var mı?

CEVAP
12 ŞUBAT 2013, Salı


Select2 olan işlevi "": . createSearchChoice

Yeni bir seçilebilir kullanıcı arama terimi seçimi oluşturur. Sağlar sorgu işlevi üzerinden değil, seçenekler oluşturma. Kullanışlı kullanıcı anında seçimler oluşturabilir, 'etiketleme' usecase. eg

Ne istediğinizi kullanarak elde edebiliriz:

createSearchChoice:function(term, data) {
  if ($(data).filter(function() {
    return this.text.localeCompare(term)===0;
  }).length===0) {
    return {id:term, text:term};
  }
},
multiple: true

İşte bir ajax arama için JSON sonuç verir ve etiketler halinde vadede sonuç döndürdü vadede oluşturulan, sağlayan daha kapsamlı bir cevap

$(".select2").select2({
  tags: true,
  tokenSeparators: [",", " "],
  createSearchChoice: function(term, data) {
    if ($(data).filter(function() {
      return this.text.localeCompare(term) === 0;
    }).length === 0) {
      return {
        id: term,
        text: term
      };
    }
  },
  multiple: true,
  ajax: {
    url: '/path/to/results.json',
    dataType: "json",
    data: function(term, page) {
      return {
        q: term
      };
    },
    results: function(data, page) {
      return {
        results: data
      };
    }
  }
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • ThisWeekYT

    ThisWeekYT

    14 Mart 2013