2013-08-13 4 views
0

일부 슬라이더를 설정하려면 jquery UI를 사용하고 있습니다. 많은 슬라이더가 있지만 코드를 최소화하려고합니다. 다음은 html로 슬라이더를 설정하는 방법입니다.jquery ui 값을 입력하는 슬라이더

<div class="budget_icon-wrapper"> 
     <div data-name="space_def" class="icon"> 
      <img class="info" src="images/info.png" /> 
      <img src="images/space-icon.png" /> 
     </div> 
     <div id="space-item" class="space-item slider"></div> 
     <div id="space_item-value" class="item-txt">$3.00</div> 
    </div> 

'slider'클래스의 div는 슬라이더입니다. 옆에있는 div에는 각 슬라이더마다 다른 값이 있습니다.이 값은 3 달러입니다. 내가 뭘하고 싶은 그 div (이 경우 3)의 가치를 끌어와 슬라이더의 가치가있다.

내가 시도했지만 잘 작동을하지 않는 스크립트는 이것이다 :이 어떤 도움을

$(".slider").each(function() { 
    value = parseInt($(this).siblings(".item-txt").text(),10); 


    $(this).slider({ 
     animate: "fast", 
     max: 25, 
     min: 0, 
     value: value, 
     range: "min" 
    }); 
}); 

감사합니다.

+0

당신은 거기에 '$'를 제거 해 사용합니다. – DevlshOne

답변

1

변경

value = parseInt($(this).siblings(".item-txt").text(),10); 

value = parseInt($(this).siblings(".item-txt").text().substring(1),10); 

jsFiddle example

parseInt은 당신이 원하는 반환하지 않는 원인이되는 $ 이후 NaN을 반환합니다. docs on parseInt note처럼 "첫 번째 문자를 숫자로 변환 할 수없는 경우 parseInt는 NaN을 반환합니다."

업데이트 : 요청대로 3.00의 값을 원하는 경우, 단지 value = $(this).siblings(".item-txt").text().substring(1);

+0

그래서 전 완전히 기능을 이해하는 데 어려움을 겪고있었습니다. 따라서 div에 십진수가 있으면 parseInt는 정수로 만듭니다. 하위 문자열은 무엇을합니까? 그리고 그 안에 1을 넣으면 무엇이 있습니까? – loriensleafs

+0

parseInt는 float 또는 일부 문자열을 정수로 변환합니다. 이 경우 하위 문자열은 $ 3.00에서 3.00으로 잘려서 parseInt가 이해할 수 있습니다. 하위 문자열 사양은 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring을 참조하십시오. – j08691

+0

마지막 질문입니다. 십진수를 사용하는 방법이 있습니까? $ 3.30이라면 지금 설정 한 방식대로 값 변수에 3을 저장하는 것이 맞습니까? 3.3을 저장하는 방법은 무엇입니까? – loriensleafs

0
$(".slider").each(function() { 
    strVal = $(this).next('.item-txt').text().substring(1); // take the substring of the text "$3.00" from the second character to the end (remove the $) 
    value = parseInt(strVal,10); 
    $(this).slider({ 
     animate: "fast", 
     max: 25, 
     min: 0, 
     value: value, 
     range: "min" 
    }); 
});