如何使用jquery比较两个文本框值?

时间:2014-10-27 07:31:32

标签: javascript jquery

我有两个名为txtbalance和txtdays的文本框。如果我在txtdays中输入的值比txtbalance更大,我想显示错误消息。我有一个javascript方法,但它无法正常工作。

<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">
</script>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
     $("#txtdays").on('input', function () {
         var txtbalance = $('#txtbalance').val();
         var txtdays = $('#txtdays').val();

         if (txtbalance === "" || txtdays === "") return false;

         if (parseInt(txtbalance) < parseInt(txtdays)) {
             alert("u cant apply");
         }
     });
 });
</script>

我的代码

<% Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master"  AutoEventWireup="true"
  CodeBehind="Default.aspx.cs" Inherits="drop._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<style type="text/css">
    .style1
    {
        width: 100%;
    }
    </style>
</asp:Content>
 <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
 <head>
 <script type="text/javascript" language="javascript"     src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
     $("#txtdays").on('input', function () {
         var txtbalance = $('#txtbalance').val();
         var txtdays = $('#txtdays').val();

         if (txtbalance === "" || txtdays === "") return false;

         if (parseInt(txtbalance) < parseInt(txtdays)) {
             alert("u cant apply");
         }
     });
 });
</script>
</head>   
<table class="style1">
   <tr>
 <asp:TextBox ID="txtbalance" runat="server"></asp:TextBox>
 </tr>
 <tr>
 <asp:TextBox ID="txtdays" runat="server"></asp:TextBox>
 </tr>
 </asp:Content>

请帮我解决问题......

5 个答案:

答案 0 :(得分:2)

如果余额是数字,则很可能需要使用parseInt。喜欢这个:

if (parseInt($('#txtbalance').val()) < parseInt($('#txtdays').val())) {
    alert("u cant apply")
}

答案 1 :(得分:2)

 $(document).ready(function () {
   var n = $("#txtbalance").val();
    var m = $("#txtdays").val();

    if(parseInt(n) > parseInt(m)) {
        alert("Alert!");
    }
});

答案 2 :(得分:0)

添加事件处理程序以更改文本框的事件并比较值。

<script language="javascript" type="text/javascript">
var bal='';
var days='';
$(document).ready(function () {
   $( "#txtbalance" ).change(function() {
         bal=$(this).val();
         return compare(bal,days);
});

 $( "#txtdays" ).change(function() {
         bal=$(this).val();
         return compare(bal,days);
});
});
function(bal,days)
{
        if(bal!='' && days!='' && parseInt(bal)<parseInt(days))
            {
           alert("u cant apply");
          return false;
}
         return true;
}
</script>

答案 3 :(得分:0)

我会使用密钥方法:

$("#txtdays").on('keyup', function () {
    // your code here
}

答案 4 :(得分:0)

http://jsfiddle.net/y7hgwyvy/ - jquery 1.7

$(document).ready(function () {
    $("#txtdays").on('input', function () {
        var txtbalance = $('#txtbalance').val();
        var txtdays = $('#txtdays').val();

        if (txtbalance === "" || txtdays === "") return false;

        if ( parseInt(txtbalance) < parseInt(txtdays) ) {
            alert("u cant apply");
        }
    });
});

当用户在txtdays输入中键入值时,您也可以考虑一些延迟。

修改

jquery 1.4 http://jsfiddle.net/y7hgwyvy/1/

的解决方案