He intentado implementar el "control deslizante" de la interfaz de usuario jquery para los días de la semana:
<!-- Sliders -->
<span id="sliderList">
<div id="slider-range-sunday" data-start="14" data-end="18"></div></br/>
<div id="slider-range-monday" data-start="1" data-end="1"></div></br/>
<div id="slider-range-tuesday" data-start="1" data-end="1"></div></br/>
<div id="slider-range-wednesday" data-start="1" data-end="1"></div></br/>
<div id="slider-range-thursday" data-start="1" data-end="1"></div></br/>
<div id="slider-range-friday" data-start="1" data-end="1"></div></br/>
<div id="slider-range-saturday" data-start="1" data-end="1"></div>
</span>
<script type="text/javascript">
$("#sliderList > div ").slider({
range: true,
min: 0,
max: 24,
values: [ parseInt($(this).attr("data-start")) , parseInt($(this).attr("data-end"))]
});
</script>
Los valores predeterminados están contenidos en el "inicio de datos" y el "final de datos" del div, pero no puedo acceder a ellos con:
$(this).attr("data-start")
Tengo el siguiente error (depuración con chrome)
Uncaught TypeError: Cannot call method "addClass" of undefined
jquery.ui.slider.js?body=1:204
¿todos saben por qué? Gracias
---- EDITAR
Ahora funciona gracias a la ayuda de Itay con el siguiente código:
$("#sliderList > div ").each(function(index){
$(this).slider({
range: true,
min: 0,
max: 24,
values: [ parseInt($(this).attr("data-start")) , parseInt($(this).attr("data-end"))],
slide: slideTime
});
});
Respuestas
1 para la respuesta № 1Para resumir la discusión que tuvimos sobre los comentarios, use el siguiente código (la idea fue mía pero la escritura fue toda tuya, ¡lo cual es genial!):
$("#sliderList > div ").each(function(){
$(this).slider({
range: true,
min: 0,
max: 24,
values: [ parseInt($(this).attr("data-start")),
parseInt($(this).attr("data-end"))],
slide: slideTime
});
});