[英]Set max value of an input box based on another input box
如何根据余额输入框设置金额输入框的最大值? 例如,余额输入框的值为500,那么金额输入框的最大值为500。那么当用户在金额输入框中输入的数字大于余额输入框的值时,就会出现错误提示。 我怎样才能做到这一点? 我正在使用 angularjs 进行验证,但它似乎不适用于我的代码。
这就是我所做的: https://jsfiddle.net/mbnxdvpw/
这就是我检索余额数据的方式。 当用户单击付款图标时,它将显示一个模式,当它成功时,将在余额输入中检索数据库中的余额数据。
function view_payment(payment_sales_id) {
var modal = $('#payment-sales-modal');
$.ajax({
type: 'POST',
url: url + 'GetPaymentDetailsById',
data: { payment_sales_id : payment_sales_id },
dataType: 'json',
success: function (data) {
modal.modal({ backdrop: 'static', keyboard: false});
modal.find($('#payment_sales_id')).val(payment_sales_id);
modal.find($('#payment_net_amount')).val(data.sales_net_amount);
modal.find($('#payment_balance')).val(data.sales_balance);
}
});
}
HTML
<div class="form-group">
<label for="">Balance <small>*</small></label>
<input type="text" id="payment_balance" name="payment_balance" placeholder="Balance" class="form-control" ng-model="payment_balance" readonly>
</div>
<div class="form-group">
<label for="">Amount <small>*</small></label>
<input type="text" id="payment_amount" name="payment_amount" placeholder="Amount" class="form-control" ng-model="payment_amount" ng-pattern="/^[0-9]+\.?[0-9]*$/" max="payment_balance.value">
<span ng-messages="formPayment.payment_amount.$error" ng-if="formPayment.payment_amount.$dirty">
<strong ng-message="pattern" class="text-danger">Please type numbers only.</strong>
<strong ng-message="max" class="text-danger">Please enter a value less than or equal according to balance.</strong>
</span>
</div>
首先,您直接在输入payment_balance
上注入值,这不是最干净的 angular 方法。 您应该使用$scope
(查看下面的我的 js 示例),这样您就可以即时更改它,而无需一遍又一遍地查找输入(在此特定代码上可能不是问题,但要记住一件事)。
其次,您应该使用<form>
来检查诸如$error
或$dirty
类的属性。 话虽如此,我做了一个小例子(不关注检索到的数据)。
快乐编码 =}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.