2012-04-30 3 views
5
$('#foo').slider({ 
    range: 'min', 
    min: 0, 
    max: 1000, 
    step: 100, 
    value: 500, 
    create: function(event, ui) { 
      var bar = ui.value; 
    }, 
    //etc... 
}); 

bar은 왜 정의되지 않고 500이 아닌가요? create 이벤트의 value에 변수를 할당 할 수 있습니까?값을 jQuery UI 슬라이더의 create 이벤트에 사용할 수 없습니까?

+1

위의 코드가 왜 말을 충분하지 않습니다 사용할 수 있습니다. 'create'는 어떻게 호출되고 있습니까? – Tejs

+0

where create create ... 전체 소스를 게시하십시오. –

+2

이것은 jquery-ui의 내장 콜백입니다. 그것은 잘 문서화되어있다. 나는 그가 소식통을 게시해야한다고 생각하지 않는다. –

답변

9

또한

create: function(e, ui) { 
    var bar=$(this).slider('value'); 
} 

DEMO.

+1

감사합니다. 나는 여전히 'ui.value'가 작동하지 않는 이유에 대해 혼란 스럽지만, 이것은 저에게 효과적입니다. – jaacob

+0

'method' 섹션에 http://jqueryui.com/demos/slider/ 여기에 설명되어 있습니다. –

+0

어떤 이유로 든 Create Callback이 내 케이스에서 호출되지 않았으므로 슬라이더 $ ('. 슬라이더')를 만들기 전에 maunaly 이벤트를 바인드해야했습니다. on ('create', function (event, ui) {...}); $ ('. 슬라이더')와 같은 슬라이더를 생성 한 후에도 수동으로 이벤트를 생성하십시오. slider(). trigger ('create'); – blushrt

1

난 당신이 어쨌든 그것을 설정하는 이후 슬라이더를 인스턴스화하고 값을 얻을 필요가 줄 이유를 정말 잘 모르겠지만, 당신은이 방법으로 수행 할 수 있습니다

$('#foo').slider({ 
    range: 'min', 
    min: 0, 
    max: 1000, 
    step: 100, 
    value: 500, 
    create: function(event, ui) { 
      var bar = $('#foo').slider("value"); 
    }, 
    //etc... 
});​ 

jsFiddle example.

+0

예를 들어 현재 값을 표시하기 위해 핸들에서 영구 툴팁을 사용하는 경우 해당 값이 필요할 수 있습니다. 이상적으로 슬라이더의 값만 설정하고 슬라이더를 만든 후에는 (예 : "create"콜백을 사용하여) 툴팁을 인스턴스화합니다. –

관련 문제