2013-04-08 24 views
11

Próbuję uogólnić kod slidera, aby działał z kilkoma kombinacjami wejścia i suwaka.Ustawianie wartości początkowej suwaka JQuery z wejścia

Mam wszystko, co zasadniczo działa - przesuń suwak, zaktualizuj wartości wejściowe lub wprowadź liczbę na wejściu, suwak przesuwa się do właściwej lokalizacji.

Mam jednak problem z zainicjowaniem suwaków z domyślnych wartości wejść. Oto co mój kod wygląda następująco:

JavaScript

$(".slider").slider({ 
     min: 0, 
     max: 5, 
     value: $(this).parent().find(".inputNumber").val(), 
     step: 0.25, 
     slide: function (event, ui) { 
      $(this).parent().find(".inputNumber").val(ui.value); 
     } 
    }); 

HTML

<div class="inputWrap hidden"> 
    <input class="mini inputNumber" type="text" value="0.5"> 
    <div class="slider"></div> 
    </div> 

Odpowiedz

21

Działa to dla mnie (z dowolną liczbą suwaków):

$(".slider").slider({ 
    min: 0, 
    max: 5, 
    step: 0.25, 
    slide: function (event, ui) { 
     $(this).parent().find(".inputNumber").val(ui.value); 
    }, 
    create: function(event, ui){ 
     $(this).slider('value',$(this).parent().find(".inputNumber").val()); 
    } 
}); 

Demo: http://jsfiddle.net/darkajax/uv5aC/

+0

Dzięki - nie wiedziałem o opcji tworzenia. Duża pomoc. – Rapture

+0

Hej, cieszę się, że to zadziałało dla ciebie :) – DarkAjax

+0

Działa dla dowolnej liczby suwaków, chyba że te suwaki pochodzą z Good Times ... Potem czerwona śmierć. –

2

to wydaje się działać

$(".slider").each(function(){ 
    $(this).slider({ 
    min: 0, 
    max: 5, 
    step: 0.25, 
    slide: function (event, ui) { 
     $(this).parent().find(".inputNumber").val(ui.value); 
    } 
}).slider("option", "value", $(this).parent().find(".inputNumber").val()); 
}); 

FIDDLE

+0

ale co jeśli on ma wiele suwaków i wielokrotne inputNumber? –

+0

Tak naprawdę potrzebuję tego do pracy na więcej niż jednym suwaku, co niestety nie odpowiada: http://jsfiddle.net/hte2B/1/ – Rapture

+0

@Rapture .. patrz edit .. Działa teraz –

Powiązane problemy