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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26582833/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 06:09:45  来源:igfitidea点击:

How to compare two text box values using jquery?

javascriptjquery

提问by Signet softwaretrainee

I have two text boxes named txtbalance and txtdays. If I enter greater value in txtdays than txtbalance I want show error message. I have a javascript method but it not working.

我有两个名为 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>

And my sourse code

还有我的源代码

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

please help me reach a solution...

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

回答by Michael S?rensen

if the balances are numbers, you most likely need to use parseInt. LIke this:

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

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

回答by soundhiraraj

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

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

回答by malkam

Add event handler to change event of text boxes and compare values.

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

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

回答by ekoindra0912

I would use key up method :

我会使用关键方法:

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

回答by Adam

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

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");
        }
    });
});

you can also think about some delay when user typing value in txtdays input.

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

EDIT

编辑

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

jquery 1.4 http://jsfiddle.net/y7hgwyvy/1/的解决方案