programing tip

val ()은 어떻게 Number를 반환 할 수 있습니까?

itbloger 2021. 1. 7. 07:42
반응형

val ()은 어떻게 Number를 반환 할 수 있습니까?


에서 val문서 이 설명을 작성 :

.val () 반환 : 문자열, 숫자, 배열

를 얻으려고했지만 Number반환 만하는 것 같습니다. string내가 잘못하고있는 것이 있습니까?

$('#gdoron').val('1');

alert($('#gdoron').val() === '1'); // true 
alert(typeof $('#gdoron').val());  // string.

$('#gdoron').val(1);

alert($('#gdoron').val() === 1);  // false
alert(typeof $('#gdoron').val()); // string (not "number"!)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="gdoron" />

내 질문은 : 문서에서 말하는 것처럼 어떻게 val()숫자를 반환 할 수 있습니까? 문제는 문자열을 어떻게 구문 분석 할 수 있는지에 관한 것이 아닙니다.


일부 HTML5 요소 (예 : 진행률)

alert(typeof $("#prog").val()); // number 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<progress value="50" max="100" id="prog"></progress>


텍스트 입력의 value속성은 항상 문자열을 반환합니다. parseInt정수를 얻으려면 값 이 필요합니다 .

parseInt($('#myInput').val(), 10);

나는 약간의 빠른 엿보기를 해봤고 대답이 있다고 생각합니다. val함수 의 구현을 살펴보면 소위 val-hook이 제자리에 있고 val-hook이 숫자를 반환하면 해당 숫자가 val 함수에서있는 그대로 반환된다는 것을 알 수 있습니다. 나는 val-hooks가 주로 플러그인에서 슬라이더 등과 같은 사용자 지정 컨트롤을 만드는 데 사용된다는 것을 제안하는 이 토론찾았습니다 . 여기서의 "자연"반환 값은 val정수일 수 있습니다. 이것이 귀하의 질문에 약간의 빛을 비추기를 바랍니다.


이를 수행하는 val () 대신 사용할 jquery 플러그인을 만들 수 있습니다. 여기서는 요소 값을 가져올 때 val () 대신 사용할 함수 nval ()을 만듭니다.

$.fn.nval = function() {
   return Number(this.val())
};

그런 다음 코드에서 다음을 사용하여 값을 숫자로 가져옵니다.

$('#elementID').nval()

흠. 콘솔에있는 모든 항목에 대해 jQuery $($0).val()및 Javascript $0.value는 문자열 "3"을 반환합니다.

<input type='number' value='3'/>
<input type='text' value='3'/>
<input type='radio' value='3'/>
<input type='checkbox' value='3'/>

그래서 jQuery val () 문서 가 더 명확 할 수 있다고 생각 합니다 . 숫자 값을 반환하는 방법을 알 수 없으므로 parseInt($($0).val())또는 사용하는 것이 좋습니다 parseFloat($($0).val()).

참조 URL : https://stackoverflow.com/questions/9227268/how-can-val-return-number

반응형