2012-10-27 2 views
3

나는 stackoverflow 및 다른 곳을 통해 자신을 교육하고 많은 것을 배웠지 만 여전히 아주 새로운 것입니다. 5 개의 슬라이더가있는 폼을 설정하고 있습니다.이 슬라이더의 값은 PHP 페이지에 게시됩니다. 모든 것이 잘 작동합니다 ... 폼이 모든 슬라이더의 최종 슬라이더 값을 제출한다는 점만 제외하면.jquery와 여러 개의 슬라이더 ... 여러 개의 슬라이더 ... 하나만 값을 모두 제출하고있다

$(function(){ 

    var currentValue = $('#currentValue'); 

    $("#slider1,#slider2,#slider3,#slider4,#slider5").slider({ 
     range: "min", 
     value:37, 
     min:1, 
     max: 500, 
     slide: function(event, ui) { 
      currentValue.html(ui.value); 
      $("input:hidden").val(ui.value); 
     } 
    }); 

}); 

여기 내 HTML입니다 :

<input type=hidden name="slider1" id="slider1" class="slider-input" value="ui.value" /> 
<input type=hidden name="slider2" id="slider2" class="slider-input" value="ui.value" /> 
<input type=hidden name="slider3" id="slider3" class="slider-input" value="ui.value" /> 
<input type=hidden name="slider4" id="slider4" class="slider-input" value="ui.value" /> 
<input type=hidden name="slider5" id="slider5" class="slider-input" value="ui.value" /> 
다음

내 JS의 ... 나는 내가 this 특성 또는 each 기능을 사용할 필요가 있다고 생각,하지만 난 방법을 잘 모르겠어요

제안 사항이 있으십니까? 나는 곤두박질 친다!

+0

은 숨겨진 입력에 대해 html 형식이 어떻게 보이는지 아이디어가 필요합니다. 현재 선택기는 슬라이더가 이동 될 때마다 페이지의 숨겨진 모든 입력 값을 변경합니다. – charlietfl

답변

2

양식의 입력 구조를 더 잘 이해하지 못하기 때문에 양식의 숨겨진 필드 만 각 슬라이더와 일치하므로 색인을 생성 할 수 있습니다.

실례로 each 루프 내에 플러그인을 구현하는 것이 더 쉽기 때문에 javscript 클로저 내에서 컬렉션의 각 요소에 간단하게 액세스 할 수 있습니다. jQuery UI를 사용하면 이벤트 내의 개별 요소에 액세스 할 수 있지만 모든 플러그인이 그렇게하지는 못하므로이 패턴은 때로는 매우 유용 할 수 있습니다.

var $sliders=$("#slider1,#slider2,#slider3,#slider4,#slider5") 

$sliders.each(function(){ 
    /* now have access to individual slider eleemnt*/ 
    var $slide=$(this); 
     /* match input index to index of this slider*/ 
    var $input= $("input:hidden").eq( $sliders.index($slide)); 
    /* initiate slider on this element*/ 
    $slide.slider({ 
     range: "min", 
     value:37, 
     min:1, 
     max: 500, 
     slide: function(event, ui) { 
      currentValue.html(ui.value); 
      /* assign value to correct input */ 
      $input.val(ui.value); 
     } 
    }); 
}); 
+0

답장을 보내 주셔서 감사합니다. EACH 루프의 아이디어가 타당합니다. 그러나 코드를 붙여 넣으면 슬라이더가 "슬라이딩"기능을 잃어 버립니다 ... 괜찮아 보이지만 이동할 수는 없습니다. 이견있는 사람? – user1780000

+0

콘솔에 오류가 있습니까? – charlietfl

+0

각 슬라이더는 다음과 같이 HTML에 나타납니다 ID를 페이지에서 반복하지 않습니다 ... 슬라이더와 입력이 동일한 ID를 가짐 – user1780000