Co chcę zrobić? Slider z wyborem czasu trwania w zakresie 1:00 do 4:00 z krokiem co 30 minut. O ile sam slider działa chyba dobrze, o tyle w ogóle nie idzie mu komunikacja z selectem.. Rzuci ktoś okiem?

  1. $(function() {
  2. var select = $( "#czastrwania" );
  3. var slider = $( "<div id='slider'></div>" ).insertAfter( select ).slider({
  4. min: 60,
  5. max: 240,
  6. step: 30,
  7. range: "min",
  8. value: select[ 0 ].selectedIndex + 1,
  9. slide: function( e, ui ) {
  10. var hours = Math.floor(ui.value / 60);
  11. var minutes = ui.value - (hours * 60);
  12.  
  13. if(minutes == 0) minutes = '00';
  14. select[ 0 ].value = hours+':'+minutes;
  15. }
  16. });
  17. $( "#czastrwania" ).change(function() {
  18. slider.slider( "value", 60 * select[ 0 ].value.replace(':','.') );
  19. });
  20. });
  21. </script>
  22. <select id="czastrwania" name="czastrwania">
  23. <option value="1:00">1:00</option>
  24. <option value="1:30">1:30</option>
  25. <option value="2:00">2:00</option>
  26. <option value="2:30">2:30</option>
  27. <option value="3:00">3:00</option>
  28. <option value="3:30">3:30</option>
  29. <option value="4:00">4:00</option>
  30. </select>
  31.  


Poprawiłem skrypt. Teraz działa w połowie. Jak przesuwam sliderem - zmienia się select, ale na odwrót już nie działa.

Wszystko już działa. Da się samemu kliknąć 'Pomógł'? winksmiley.jpg