2011-09-23 16 views
14

Kullandığımız bir ui kaydırıcımız var ve kusursuz çalışıyor.Metin kutusu girişi olan kaydırıcıyı kaydır

kodu:

jQuery(function() { 
jQuery("#slider-range-min").slider({ 
    range: "min", 
    value: 1, 
    step: 1000, 
    min: 0, 
    max: 5000000, 
    slide: function(event, ui) { 
     jQuery("#amount").val("$" + ui.value); 
    } 
}); 
jQuery("#amount").val("$" + $("#slider-range-min").slider("value")); 
}); 

biz kullanıcı 0 ile 5.000.000 arasında bir şey almak için izin görebileceğiniz gibi.

Html geçerli:

<div id="slider-range-min" style="width: 460px; float:left;margin:10px;"></div> 

Ne yapmak istiyorum, kaydırıcı ile uyum içinde çalışan bir metin giriş öğesi ekleyin Kullanıcı texy kutusu artar, ne olursa olsun azalır slaytlar şekilde ..

Veya kullanıcı sayıları giriş elemanına yazarsa, kaydırıcı uygun şekilde hareket eder.

Herhangi bir yardım lütfen?

Önizleme geçerli:

enter image description here

+1

[Sabit minimum örnekle] (http://jqueryui.com/demos/slider/hotelrooms.html) kullanarak bir şeyleri fırlatabileceğinizi düşünüyorum. –

+0

Teşekkürler @rfausak kontrol edecek – 422

+0

FYI: aynı zamanda filament grubunun bunu başardığını gördük, ama görünüşe göre onlar sadece onlar .. http://www.filamentgroup.com/lab/update_jquery_ui_slider_from_a_select_element_now_with_aria_support/ otehrs görmek istiyorum – 422

cevap

24

Sen (siz #amount elemanı için şimdi yapıyoruz gibi) slide üzerinde input elemanı güncellemeniz gerekir:

$("#slider").slider({ 
    range: "min", 
    value: 1, 
    step: 1000, 
    min: 0, 
    max: 5000000, 
    slide: function(event, ui) { 
     $("input").val("$" + ui.value); 
    } 
}); 

Ayrıca, gerek input öğesi için change olayına bağlanın ve kaydırıcının value yöntemini çağırın:

$("input").change(function() { 
    var value = this.value.substring(1); 
    console.log(value); 
    $("#slider").slider("value", parseInt(value)); 
}); 

Örnek: burada devam hiçbir doğrulama yokhttp://jsfiddle.net/andrewwhitaker/MD3mX/

(Eğer "$" içermelidir işe imza). Bunu geliştirmek için biraz daha sağlam giriş sanitasyonu ekleyebilirsiniz.

+0

Thats great Gördüğüm tek sorun Andrew, kullanıcı giriş elemanını yazamıyor ve siz girişten çıkana kadar kaydırıcı bu fiyatlı konuma hareket ediyor. Ben onkeyup hey ekleyebilirsiniz ... Ama büyük kod, – 422

+0

@ 422 oy verdi: Bu * çalışmalıdır, görmek için büyük bir değer girmek zorunda kalabilirsiniz (örneğin ** $ 3000000 ** deneyin) –

+0

değiştirildi div

ve daha büyük sayılarda bile yazarken otomatik güncelleme yapmaz. Bir jsfiddle sorunu olmadığı sürece, html'ye dönecek ve – 422