如果已更改任何“联系人”字段(内部代码),则使用Javascript在Vtiger上计算联系人年龄。

时间:2019-07-01 15:04:13

标签: javascript vtiger vtigercrm

我想根据他的生日来计算我的通讯录年龄。经过一些搜索,我想到了以下代码:

(向Edit.js添加代码)

/*** Function to calculate Age based on birthday field change*/ 

jQuery('[name="birthday"]',form).change(function() {
var dateBirth = Vtiger_Helper_Js.getDateInstance(jQuery('[name="birthday"]',form).val(),jQuery('[name="birthday"]',form).attr("data-date-format"));

jQuery('[name="cf_755"]',form).val( Math.floor((Date.now()-dateBirth) / (31557600000)));

});

它不起作用,除此之外,它只会在更新生日字段时更改联系人的年龄。字段更新后,如何使此代码起作用?

打开联系人页面(即详细视图)后,实时计算联系人的年龄会更好。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您需要类似以下代码的内容:

$('form[id="EditView"] input, form[id="EditView"] select').change(function() {
    var dateBirth = Vtiger_Helper_Js.getDateInstance(jQuery('input[name="birthday"]').val(),jQuery('input[name="birthday"]').attr("data-date-format"));
    jQuery('input[name="cf_755"]').val( Math.floor((Date.now()-dateBirth) / (31557600000)));
});

还有一种简单的方法将值设置为cf_755输入。使用Vtiger表达式通过工作流计算值。 您只需要创建一个工作流程并通过time_diffdays方法计算年龄。 click here to check vtiger expressions