我试图在一个元素上运行两个函数,一个接一个。目前,我有一个输入,将其中的任何内容复制到另一个输入框。我需要的是第二个输入框然后成为计算的一部分。
以下是相关的HTML:
<p class="text"><span class="set_name"></span> read to me what your current outstanding balance is.
$<input name="statement_balance_c" id="statement_balance_c" class="statement_balance_c"></input></p> //this box populates the lien input below
<tr>
<td>Borr Est of Value $
<input type="text" name="value" id="value" title="Enter number only"/> </td>
<td>Loan Amount $<input type="text" name="lien" id="lien" class="lien" title="Enter number only"/></td>
<td>LTV<input type="text" name="ltv" id="ltv" title="If this is above 55% proceed with caution" readonly/></td> /*this input uses jquery to calculate the loan to value based on the inputs of value and lien */
</tr>
这两个函数的jQuery:
$(".statement_balance_c").on('keyup',function(){
$(".lien").val($(this).val());
});
$('#lien').change(function(){
var loan_amoumt = document.getElementById('lien').value;
$('#first_mortgage').attr('value', loan_amoumt );
$('#first_lien_table').toggle();
var value = parseInt(document.getElementById('value').value) || 0;
var lien = parseInt(document.getElementById('lien').value) || 0;
var ltv = (lien/value)*100 + '%';
$('#ltv').val(ltv);
if(this() > '60%'){
$('#ltv').css('background-color', 'red');
}
else{
$('#ltv').css('background-color', '#2EFE2E');
}
});
第一个功能完美,但第二个功能没有。第二个函数DID在我添加第一个函数之前工作,如果我手动将数字更改为不同的函数,它将起作用。有什么想法吗?
答案 0 :(得分:3)
您应该在关键字上和/或更改时触发您创建的更改事件:
$(".statement_balance_c").on('keyup', function () {
$(".lien").val($(this).val()).change();
});
或者
$(".statement_balance_c").on('change',function(){
$(".lien").val($(this).val()).change();
});
答案 1 :(得分:0)
结合使用j08691的指导和onfocus事件,我能够在不返回错误的情况下完成此操作。现在,代码如下所示:
$(".statement_balance_c").on('change',function(){
$(".lien").val($(this).val()).change();
});
$('#lien').change(function(){
var loan_amoumt = document.getElementById('lien').value;
$('#first_mortgage').attr('value', loan_amoumt );
$('#first_lien_table').toggle();
var value = parseInt(document.getElementById('value').value) || 0;
var lien = parseInt(document.getElementById('lien').value) || 0;
var ltv = (lien/value)*100 + '%';
$('#ltv').val(ltv);
if(this() > '60%'){
$('#ltv').css('background-color', 'red');
}
else{
$('#ltv').css('background-color', '#2EFE2E');
}
和HTML:
<input type="text" name="ltv" onfocus="calculate_ltv()" id="ltv" title="If this is above 55% proceed with caution" readonly />
感谢您的帮助!