2013-12-10 23 views
14

WebService tarafından sağlanan bir dizi nesnem var (listenin sırası önemlidir). JSON nesnesini bir Selectize denetimine yükledim, ancak listenin sırasını kullanarak siparişi yeniden sipariş ediyor.Önleme Otomatik sıralamayı seç

Geçerli sorunun bağlantısı budur. Burada

$('#testSelect').selectize({ 
    maxItems: 1, 
    valueField: 'Id', 
    labelField: 'Descripcion', 
    searchField: 'Descripcion', 
    options: data 
}); 

Fiddle: http://jsfiddle.net/LYYab/

Ben 'sortField' devre dışı bıraktık ama çalışmıyor.

Herhangi bir yardım büyük memnuniyetle karşılanacaktır.

Teşekkürler.

+0

İlk kez açmayı kabul ettiğinizde varsayılan siparişi kastediyorsunuzdur? Kutuya bir şey girdikten çok mu? Bir şeyi düzenledikten sonra, "en iyi" eşleşmeleri sıralayacak. Ne yazık ki, bunu yapmak mümkün olduğundan emin değilim çünkü bu, Selectize'nin ne için olduğu değil. – SpaceDog

+0

Ben dropwdown böyle bir şey olmalıdr anlamına: - Todos - Armtas - Comtrek - Earthwax - Flotonic JSON Nesne emir. – eliashdezr

+1

GÜNCELLEME: Bu dava için basit bir çözüm: En üstte olmak istediğim Word'den önce bir boşluk ekleyin. – eliashdezr

cevap

8

Bazı nedenlerden dolayı, Verme'ye geçmeden önce verilere erişemediğinizi varsaydım.

var currentSortId = 0;  
$.each(data, function(i, v) { 
    currentSortId = currentSortId + 1; // First ID is 1! 
    v.sId = currentSortId; 
}); 

ve daha sonra bu Selectize seçenekleri sortField: 'sId' ile başvuru: Bunu yaparsanız sadece bir sıralama indeksi ekleyebilir.

Fiddle sadece metin kutusuna birisi türleri kadar çalışıyor Tabii here

ardından sipariş mesaj attı daktilo için 'en iyi eşleşen' ne dayanmaktadır. Birisi yazarken siparişi korumanız gerekiyorsa, kendi score işlevinizi tanımlamanız gerekir - bir işlev döndüren bir işleve ihtiyacınız olacaktır. İç fonksiyon aksi

0. documentation yılındascorealtında geri aramalar Bkz dönmek öğeyi ve geçerli sorguyu ve alır ve öğe eşleşirse düzeni korumak için sId dönmek gerekiyor.

+1

Herhangi bir nedenden ötürü, alfabetik olması beklenen varsayılan sıralama seçimi, rastgele bir kişinin bekleyeceği alfabetik sıraya uymayan bazı öğeleri koyuyordu. Bu benim için sorunu çözdü. – Mahn

10

Sizin sortField aşağıdaki gibi görünebilir:

sortField: [{field: 'Descripcion', direction: 'desc'}, {field: '$score'}] 

overriden sortField özel $score alan içerdiğinden emin olun. Aksi takdirde, belgelere göre, sağlanan siparişin etkin bir şekilde geçersiz kılınması diğer tüm alanların önüne eklenecektir.

+0

Cheers @mrt günümü bu pasajı oluştur! – fearis