2010-09-28 3 views
1

Dans notre facturation de services publics, une personne ne peut jouer que ce qu'elle doit (ou moins) jusqu'à concurrence d'un certain montant. J'ai créé une méthode pour vérifier cela, cependant, je dois être en mesure de transmettre le total qu'ils doivent pour terminer la comparaison. Comment puis-je générer le montant total dû pour que jQuery puisse percevoir ce montant?Comment puis-je obtenir une valeur de la page pour que jQuery puisse la traiter?

Voici ma méthode:

$.validator.addMethod('MaxDue', function(value, element, params) { 
    var maxPay = parseFloat($(params.totalDue).val()); 
    var maxTotal = 750.00; 
    var payAmount = parseFloat($(params.payment).val()); 
    return (payAmount <= maxPay || (maxPay > maxTotal && payAmount <= maxTotal)); 
}, 'Amount greater than dollar amount allowed.'); 

Voici la section des règles validate qui sont pertinentes:

 "Payment.PayAmount": { 
      required: true, 
      min: 0.01, 
      MaxDue: { 
       totalDue: 88.84, 
       payment: "#Payment_PayAmount" 
      } 
     } 

Voici la zone de sortie affectée de mon code:

<fieldset> 

    <legend>Account Information</legend> 
    <p>Current Balance: 88.84</p> 
    <p>Amount to Pay: <input id="Payment_PayAmount" name="Payment.PayAmount" type="text" value="88.84" /></p> 
</fieldset> 

Répondre

0

Vous l'avez.

// Validate the expiration date 
$.validator.addMethod('MaxDue', function(value, element, params) { 
    var maxPay = parseFloat(params.totalDue); 
    var maxTotal = 750.00; 
    var payAmount = parseFloat($(params.payment).val()); 
    return (payAmount <= maxPay || (maxPay > maxTotal && payAmount <= maxTotal)); 
}, 'Amount greater than dollar amount allowed.'); 

jQuery.Validate

 "Payment.PayAmount": { 
      required: true, 
      min: 0.01, 
      MaxDue: { 
       totalDue: $("#payment").text(), 
       payment: "#Payment_PayAmount" 
      } 
     } 

Et la valeur Enveloppé dans une obtient étiquette <span>.

<p>Current Balance: <span id="payment">88.84</span></p>