2014-10-27 69 views
0

我有兩個名爲txtbalance和txtdays的文本框。如果我在txtdays輸入比txtbalance更大的值,我想顯示錯誤消息。我有一個JavaScript方法,但它不工作。如何使用jquery比較兩個文本框的值?

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

而且我SOURSE代碼

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

請幫我達成解決方案......

回答

2

如果餘額數字,你最有可能需要使用parseInt函數。像這樣:

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

它不顯示任何信息。 – 2014-10-27 07:44:15

+0

我在txtdays輸入值時需要即時消息 – 2014-10-27 07:46:39

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

    if(parseInt(n) > parseInt(m)) { 
     alert("Alert!"); 
    } 
}); 
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> 
+0

我在txtdays文本框中輸入值時想要出現錯誤消息。上述方法不適合我先生 – 2014-10-27 08:01:50

0

我會用鑰匙了方法:

$("#txtdays").on('keyup', function() { 
    // your code here 
} 
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輸入用戶鍵入值。

EDIT

溶液的jquery 1.4 http://jsfiddle.net/y7hgwyvy/1/

+0

這是因爲你的jQuery版本。更新你的jQuery或試試這個 [鏈接](http://jsfiddle.net/y7hgwyvy/1/) – Adam 2014-10-27 09:37:34

+0

是的我更新了我的jQuery版本,但沒有顯示任何迴應 – 2014-10-27 09:46:07

+0

我不知道怎麼可能,你可以發送一個此頁面的源代碼?把它從瀏覽器中,我需要看到純淨的HTML和JS,沒有ASP標籤。 – Adam 2014-10-27 09:51:40