2013-01-21 3 views
0

우선이 스 니펫을 사용한 놀라운 작업에 대한 감사의 말을 전하고 싶습니다 (정말 멋진 도구입니다).Changewheel 기능 작동 원리?

현재 개발중인 응용 프로그램에서 mobiscroll을 사용하려고합니다. mobiscroll 도구를 사용하고 사용자 정의하는 것이 얼마나 쉬운 지 알고 있습니다.

정말 잘 모르겠지만, 기능을 사용하는 방법은입니다. 나는 많은 일을 시도했지만 결코 성공하지 못했습니다.

내가하고 싶은 것은 첫 번째 휠의 값을 변경하는 것입니다 (첫 번째 휠을 완전히 변경하고 재생성합니다). 두 번째 휠을 선택할 때 (실제로 원하는 것은 변경 이벤트입니다) 두 개의 매개 변수가 있습니다.

나는 두 개의 휠에 대한 배열을 만드는 함수를 빌드하고 첫 번째 휠의 배열을 반환 된 두 번째 휠의 인덱스에 상대적으로 변경합니다. (나는 함수가 작동하고 바퀴의 정확한 값을 생성한다는 것을 알 수있다).

그렇다면이 기능을 changewheel 함수를 사용하여 inst에서 onchange 이벤트로 구현할 수 있습니까?

내가 원하는 것을이 기능이 변경 될 수 있습니까?

예로 들어 생각, 매우 명확하게하려면 :

측정 (kg 또는 파운드) 나는 킬로그램에 자리 파운드에 변경하는 경우

의 사람 초 휠 유닛의 첫 휠 무게 , 나는 첫 번째 바퀴가 변화를 반영하고 싶다. (값을 업데이트한다.) 예를 들어, 0에서 80kg 사이의 한계 무게를 설정하면 lbs 단위의 값은 0에서 177lbs 사이가되어야한다. (전체 변환은 다른 값과 별도로 처리된다. 커스터마이징 된 기능을 제공하며, 원하는대로 정확하게 작동합니다.)

대신 changewheel 이벤트를 구현하는 방법을 모르겠다. 예제 나 좀 더 자세한 설명이 정말 유용 할 것입니다. 당신이 방법 옵션을 mobiscroll의 인스턴스를 전달하고 호출 할 필요가 뻑 개의 다른 값을 업데이트 할 경우

는 최저 Dinuz이

답변

0

여기에 간단한 설명을가는 정말 고마워요

$(function(){ 
     var filtersMetrics = [{}]; 
     var wheelPosMetrics = [] 
     var wheelPosFunc1 = []; 
     var wheelPosFunc = []; 

     wheelPosMetrics[0] = "Connection"; 
     wheelPosMetrics[1] = "Shared"; 
     wheelPosMetrics[2] = "Deleted"; 

     filtersMetrics[0]['Metrics']=wheelPosMetrics; 

     wheelPosFunc1[0] = "Count"; 

     wheelPosFunc[0] = "Count"; 
     wheelPosFunc[1] = "Sum"; 
     wheelPosFunc[2] = "Avg"; 

     filtersMetrics[0]['Func']=wheelPosFunc1; 


     var metricsScroller = $("#select").mobiscroll().scroller({ 
      theme : 'android', 
      display : 'inline', 
      mode: 'scroller', 
      wheels: filtersMetrics, 
      rows: 3, 
      'onChange' : function(v, i , e){ 


       if(v[0]==1){ 
        filtersMetrics[0]['Func']=wheelPosFunc; 
        metricsScroller.mobiscroll('option', 'wheels', filtersMetrics); 
       }else{ 
        filtersMetrics[0]['Func']=wheelPosFunc1; 
        metricsScroller.mobiscroll('option', 'wheels', filtersMetrics); 
       } 



      } 
     }); 

}); 

나는 또한 일을 changeWheel를 얻을 수 없습니다 2.5 버전

+0

은 '모달'이 스크롤러를 닫습니다. 이 문제를 해결할 방법이 있습니까? – Dean

+0

그래서 'moal'옵션에서 의 'modal'옵션을 기반으로하는 것처럼 보입니다. Scroller는 'inline'에서 viewport.while의 중앙에 팝업으로 나타납니다. div 요소에서 호출되면 스크롤러는 div 안에 있습니다 (기존 내용 덮어 쓰기), 그렇지 않으면 원본 요소 뒤에 배치됩니다. 그게 무슨 뜻입니까 모드를 사용하면 팝업을 가지고 싶어하고, 입력 필드를 숨기고 적절한 버튼을 만들거나 그냥 입력 필드를 가지고 싶다면 onther 측에 인라인이 항상 올 것입니다. DOM 트리의 일부분을 가지고 있기 때문에 눈에 보이는 html이 있습니다 –

+0

맞습니다. 모달 팝업이 표시되어있는 동안 스크롤 휠을 업데이트하려고하면 닫힙니다. 이것은 문제이며, 나는 열려 있어야합니다. – Dean

0

를 사용했다, 그러나 나는 해결 방법을 (내가 Mobiscroll의 v2.15.1를 사용하고 있습니다) 발견했다.

onchange를-처리기에서는 dynamicaly 기본 값을 설정할 수 있습니다 : 디스플레이로 설정되어

. 
. 
. 
onChange: function (values) { 

    // here your logic for the current values    

    if (/*here your condition*/) { 

     // Example for three wheels:  
     var curWheel = ["1", "2", "3"]; 

     // set the default values 
     $(/*your element*/).mobiscroll("setArrayVal", curWheel, true); 
    } 
}, 
. 
. 
.