我正在尝试编写一个非常简单的jQuery函数,其中包括检查输入字段的值,如果该值大于0,则将变量counter
设置为该值。否则,请使用another
值。但是,无论该字段的值是什么,another
始终被设置,我不理解。
jQuery
$('.test').click(function(e) {
var counter = 0;
var fieldvalue = $("#fieldID").val();
if (parseInt(fieldvalue >= 1)) {
counter = fieldvalue;
} else {
counter = 0; // in reality this will be a dynamic value
}
});
问题在于counter
始终返回0。
答案 0 :(得分:2)
您的意思是fieldvalue
中的if (parseInt(fieldcounter >= 1)
,并且括号有误。
$('.test').click(function(e) {
var counter = 0; // in reality this is a dynamic value
var fieldvalue = $("#fieldID").val();
if (parseInt(fieldvalue) >= 1) {
counter = fieldvalue;
}
else {
counter = 0;
}
console.log(counter)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<input type="text" id="fieldID">
<input type="button" value="fieldID" class="test">
答案 1 :(得分:1)
正确的变量似乎是fieldvalue
,而不是fieldcounter
。 > =比较必须在parseInt函数之外进行。 counter
还必须接收parseInt函数的结果,否则它可能会接收字符串。
var fieldvalue = parseInt($("#fieldID").val());
if (fieldvalue >= 1) {
counter = fieldvalue;