2010-08-20 12 views
5
código

Ejemplo: http://jsbin.com/eqile3/jQuery ui control deslizante valores incorrectos?

Este es un control deslizante con 2 asas, 1 para min y 1 para un máximo y en el caso de diapositiva estos valores se ponen en los campos de entrada.

Observe que al deslizar el min-handle hacia arriba y hacia abajo, el valor mínimo es 11 (aunque lo ajuste a 10), pero cuando se desliza desde la posición mínima va de 11 a 10 y luego 11. Si Me vuelvo a deslizar hacia abajo va a 12 y luego a 11 ...

¿Error bastante extraño, no estoy seguro de dónde está la causa?

Además, cuando el min-handle está en el primer paso que viene del paso 0, entonces el valor es 10, y luego muevo el max-handle, el valor del min-handle se actualiza correctamente. El mango máximo tiene el problema opuesto.

El javascript relevante en el ejemplo:

$(document).ready(function(){ 
    $('#clarityslider').slider({step:1,min:10,max:18,range:true,values:[10, 18]}); 

    $('#clarityslider').bind('slide', function(ui, event){ 
    valuemin = $(this).slider('values', 0); 
    valuemax = $(this).slider('values', 1); 


    $(this).next().val(valuemax); 
    $(this).prev().val(valuemin); 
    }); 
}); 

Respuesta

7

valores extraño. Esto es más simplificado y funciona como un encanto:

$(document).ready(function(){ 

    var valuemin = valuemax = 0; 

    $('#clarityslider').slider({ 
     min: 10, 
     max: 18, 
     range: true, 
     values: [10, 18], 
     slide: function(event, ui) { 
      valuemin = ui.values[0]; 
      valuemax = ui.values[1]; 
      $(this).next().val(valuemax); 
      $(this).prev().val(valuemin); 
     } 
    }); 
}); 

¡Buena suerte con lo que estás construyendo!

+0

funciona perfectamente, incluso en mi función de bucle. Gracias. – Rakward

11

¡Muchas gracias! eso realmente me ayudó también, ¡porque tenía el mismo problema exactamente!

que tenían :

slide: function(event, ui) { 
      var Oldvalue = $('#slider').slider("value"); 

y cambió a

slide: function(event, ui) { 
       var Oldvalue = ui.value; 
+0

Esto funcionó para mí también, agregando "ui.value". Siempre fue uno detrás de lo contrario! Muchas gracias por su ayuda. – Desmond

+1

También puedo confirmar que esta es la forma _correcta_ de recuperar el valor cuando se vincula al evento de diapositiva. La documentación es incorrecta. – Rasive

Cuestiones relacionadas