2012-04-30 7 views
5
$('#foo').slider({ 
    range: 'min', 
    min: 0, 
    max: 1000, 
    step: 100, 
    value: 500, 
    create: function(event, ui) { 
      var bar = ui.value; 
    }, 
    //etc... 
}); 

Neden bar undefined ve değil 500? create etkinliğinde value değişkenine bir değişken atamak mümkün mü?değeri jQuery UI kaydırıcısı üzerinde etkinlik oluştururken mevcut değil.

+1

Yukarıdaki kod neden söylemek yeterli değildir kullanabilirsiniz. 'Create' nasıl çağrılır? – Tejs

+0

nerede tanımlı oluşturuluyor ... Lütfen tam kaynağı gönderin –

+2

Bu jquery-ui içinde yerleşik bir geri çağırmadır. İyi belgelenmiştir. Kaynağını yayınlaması gerektiğini düşünmüyorum. –

cevap

9

Ayrıca

create: function(e, ui) { 
    var bar=$(this).slider('value'); 
} 

DEMO.

+1

Teşekkürler. Hala ui.value'nun neden çalışmadığı konusunda kafam karışık, ama bu benim için çalışıyor. – jaacob

+0

En çok hoşgeldin :-) burada http://jqueryui.com/demos/slider/, 'methods' bölümünde açıklanmıştır. –

+0

Herhangi bir nedenden dolayı benim durumumda geri arama yaratılmadı, bu yüzden kayma $ ('. Kaymak') yaratmadan önce maunaly olayını bağlamak zorunda kaldım ('create', function (event, ui) {...}); ve sonra, $ ('. kaymak') gibi kaydırıcıyı oluşturduktan sonra oluşturma olayını manuel olarak tetikler. kaydırıcıyı() tetikler ('oluştur'); – blushrt

1

Sana yine de kuruyorsunuz beri kaydırıcıyı başlatmasını ediyoruz değeri elde etmek gerekiyordu neden gerçekten emin değilim ama bu şekilde yapabilirsiniz:

$('#foo').slider({ 
    range: 'min', 
    min: 0, 
    max: 1000, 
    step: 100, 
    value: 500, 
    create: function(event, ui) { 
      var bar = $('#foo').slider("value"); 
    }, 
    //etc... 
});​ 

jsFiddle example.

+0

Örneğin, geçerli değeri göstermek için tanıtıcı üzerinde kalıcı bir araç ipucu kullanıyorsanız, bu değere ihtiyacınız olabilir. İdeal olarak, sadece sürgü için değeri ayarlar ve sürgü oluşturulduktan sonra araç ipucunu (yani "yarat" geri arama) kullanarak başlatırsınız. –