2010-11-18 27 views
0

jQuery widget'ını kullanarak bir rulet widget'ı yapıyorum (http://stuff.manisto.dk/roulette/ numaralı telefona bakın). İnsanların kullanmasını kolaylaştırmak için, öğeler gibi bazı varsayılan seçenekleri belirtiyorum.jQuery widgetı seçenekler dizisi

Sorun, varsayılan seçeneklerden daha küçük bir öğe dizisi belirttiğimde (bkz. http://stuff.manisto.dk/roulette/?elements=stack;overflow), kalan öğeler yine de görüntülenir.

Bunu nasıl düzeltebilirim? Ve jQuery neden belirtilirse yeni diziyi sağlamak yerine tüm dizi değerlerini kopyalar? Bu arada, http://bitbucket.org/manisto/jroulette/src adresindeki kodu görüntüleyebilirsiniz.

+0

Lütfen cevaplamadan önce gerçek kodu inceleyin! :) – ManiSto

cevap

0

Bu, jQuery'nin extend yöntemini kullanmanızın nedeni, dizideki orijinal (seçenekler) genişleten öğeleri yalnızca "üzerine yazar". Diğer unsurlardan kurtulmak istiyorsanız, orijinali genişletmeyin veya bunları genişletme dizisinde null veya undefined değeriyle sağlayın.

Kodunuza bakmadım ancak jQuery'deki genel varsayılan seçeneklerin, kullanıcının çağrı başına temelinde belirlediği süreyi genişletdiğini biliyorum.

+0

Ben seçenekleri (en azından doğrudan değil) genişletmek yok, jQuery Widget fabrika aracılığıyla benim için bir şey yapar. Ancak, sağlanan seçenekler ile varsayılan seçenekler arasında bir widget'ı ayırt etmenin herhangi bir yolu var mı? – ManiSto