我需要了解如何在Edit.js上进行实时计算
通过搜索和查找,我在联系模块的Edit.js中想到了这段代码。
calculate_amount: function (){
var units = $("input[name='cf_852']");
var value = $("input[name='cf_854']");
$(units, value).on('keyup', function(){
if (units.val() != '' && value.val() != ''){
var currentamount = units.val() * value.val();
$("input[name='cf_856']").val(currentamount);
}
});
}
我做错了什么吗?因为它不起作用..
感谢所有帮助!
答案 0 :(得分:0)
必须将函数调用到函数registerBasicEvents中。 如果“联系人”模块的Edit.js中的registerBasicEvents函数不可用,请添加它。
registerBasicEvents: function (container) {
this._super(container);
this.calculate_amount();
}
答案 1 :(得分:0)
我应该这样编写您的keyup函数:
我测试了,没关系
calculateAmount: function (){
var units = $("input[name='cf_1512']");
var value = $("input[name='cf_1514']");
$(document).on('keyup',"input[name='cf_1512'], input[name='cf_1514']", function(){
if (units.val() != '' && value.val() != ''){
var currentamount = units.val() * value.val();
$("input[name='cf_1518']").val(currentamount);
}
})
},
答案 2 :(得分:0)
您应传递Keyup函数的element的id而不是element的引用。请在下面找到代码片段,然后在vTiger中修改您的代码。当我检查了脚本中正确编写的所有语法和函数时。只需传递逗号分隔的ID并执行代码即可。谢谢!
var units = $('#Contacts_editView_fieldName_cf_1512');
var value = $('#Contacts_editView_fieldName_cf_1514');
$('#Contacts_editView_fieldName_cf_1512, #Contacts_editView_fieldName_cf_1514').on('keyup', function(){
if (units.val() != '' && value.val() != ''){
var currentamount = parseFloat(units.val()) * parseFloat(value.val());
$("#Contacts_editView_fieldName_cf_1516").val(currentamount);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
Input1: <input type="text" id="Contacts_editView_fieldName_cf_1512"/><br/>
Input2: <input type="text" id="Contacts_editView_fieldName_cf_1514" /><br/>
Result: <input type="text" id="Contacts_editView_fieldName_cf_1516"/>