繁体   English   中英

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

[英]How to compare two text box values using 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>

请帮助我找到解决方案...

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

if (parseInt($('#txtbalance').val()) < parseInt($('#txtdays').val())) {
    alert("u cant apply")
}
 $(document).ready(function () {
   var n = $("#txtbalance").val();
    var m = $("#txtdays").val();

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

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

<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>

我会使用key up方法:

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

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM