如果javascript中的条件,则值不仅仅是读入

时间:2015-07-10 12:42:18

标签: javascript jquery

我得到两个文本框值为5和10。

所以我在以下条件

上验证它们
var textboxvalue1 = $('#textboxvalue1' + counter).val();
var textboxvalue2 = $('#textboxvalue2' + counter).val();
if (textboxvalue1 < textboxvalue2) {
    alert("error");
}
textboxvalue1 = 10
textboxvalue2 = 5

它在这种情况下显示一个警告。当textboxvalue1小于10时,它会显示出来。它正常工作。

4 个答案:

答案 0 :(得分:4)

实际上您的var textboxvalue1= parseInt($('#textboxvalue1'+counter).val(), 10); var textboxvalue2= parseInt($('#textboxvalue2'+counter).val(), 10); if (textboxvalue1 < textboxvalue2) { alert("error"); } 会返回您尝试将其转换为整数的字符串,因此请在您的上下文中使用 parseInt()并检查。

parseInt()函数解析一个字符串并返回一个整数。

注意

  

radix参数用于指定要使用的数字系统   例如,使用16(十六进制)的基数表示   字符串中的数字应该从十六进制数解析为a   十进制数。

     

如果省略radix参数,则JavaScript假定以下内容:

     

如果字符串以&#34; 0x&#34;开头,则基数为16(十六进制)如果   字符串以&#34; 0&#34;开头,基数为8(八进制)。这个功能是   deprecated如果字符串以任何其他值开头,则基数为10   (十进制)

{{1}}

答案 1 :(得分:0)

您必须将输入字符串转换为如下数字:

convertView.setOnClickListener(new OnClickListener() {
        @Override 
        public void onClick(View v) {
           //perform update on textView here
        } 
    }); 

答案 2 :(得分:0)

这些值被JavaScript解释为字符串,而不是数字。在比较它们之前将它们包裹在parseIntparseFloat中。

答案 3 :(得分:0)

使用ParseInt因为var返回字符串默认值。或者您可以使用parseFloat

var textboxvalue1= parseInt($('#textboxvalue1'+counter).val(), 10);
var textboxvalue2= parseInt($('#textboxvalue2'+counter).val(), 10);
if (textboxvalue1 < textboxvalue2) {
    alert("error");
}