Welcome, Guest
Username: Password: Remember me

TOPIC: Calculate age in an Equation type question, using Date of Birth

Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84792

  • tfj
  • tfj's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 80
  • Thank you received: 6
  • Karma: 5
Greetings:

Has anyone calculated a person's age in a Equation type question, using the Date of Birth from a previous question?

I have been doing this with a MySQL query, but I would like to move it to LimeSurvey.

I am using 1.92+ build 120808 on a Windows test PC.

Thanks!

tfj
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84806

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6551
  • Thank you received: 869
  • Karma: 257
Hello,

There a lot of script in web to do this, www.google.com/search?q=javascript+birth+age+calculation

Need little adaptation for LS date.

Denis
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84820

  • tfj
  • tfj's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 80
  • Thank you received: 6
  • Karma: 5
Denis:

Thank you for responding.

Unfortunately for me, before asking my question on the Forum, I had already spent quite a bit of time on Google and a few hours attempting to use the "Implemented Functions" in Expression Manager (from the LimeSurvey documentation) to make this work in an Equation type question. I have found that if I struggle a bit before turning to the Forum, I usually learn things better.

I know I am taking the wrong approach in my efforts, so I am hoping someone who might have already done this could give me the "little adaptation for LS date" that you mentioned. If not, I'll keep at it until I figure it out (or until my deadline, at which point I'll stick with the MySQL query I had already written) and will share it on the Forum.

Thanks again!

tfj
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84826

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6551
  • Thank you received: 869
  • Karma: 257
Hello,

I don't know if EM can work.

But, with javascript:
First make a date with a date question, if you format is dd-mm-yy then:
Something like that to put the age in QQ:
<script type="text/javascript">
 function AgeFromBirth(birthdate,QQ) {
  aBirthDate=birthdate.split('-');
  if(aBirthDate.length == 3){
   birth = new Date(aBirthDate[2], aBirthDate[1] * 1 - 1, aBirthDate[0]);
   years = Math.floor((now.getTime() - born.getTime()) / (365.25 * 24 * 60 * 60 * 1000));
  }
  $("#question"+QQ+" input.txt").val(years);
  }
$(document).ready(function() {
 AgeFromBirth({INSERTANS:sssXgggXqqq},212);
});
</script>
If date of birth is in the same page, the a
$("#questionQDATEOFBIRTHnumber input.date").blur(function(){AgeFromBirth($(this).val(),212);});
ca do the tric.

And put this function with workarounds help:
docs.limesurvey.org/tiki-index.php?page=..._etc._in_LimeSurvey_

Denis,
PS: there are surely some error in javascript code, i make it directly in the forum
PS2: calculation was taken here: pankajlalwani.wordpress.com/2010/08/02/a...ng-javascriptjquery/
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84828

  • tfj
  • tfj's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 80
  • Thank you received: 6
  • Karma: 5
Denis:

Thank you for taking the time out to help!

I'll work on the example you provided . . . at least I know now that I was going down the wrong path with Expression Manager . . .

Thanks again!

tfj
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84831

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1151
  • Thank you received: 274
  • Karma: 79
In this thread it seems that some LS users did it...
Ben/
Benoît

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
Last Edit: 2 years 3 months ago by Ben_V.
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84832

  • tfj
  • tfj's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 80
  • Thank you received: 6
  • Karma: 5
benitov:

Thanks for pointing me to this thread. This will also be helpful!

tfj
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84833

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1151
  • Thank you received: 274
  • Karma: 79
I've tried the 2nd code given on the thread using a date question type (with format dd.mm.yyyy) + a short-text question.... (both questions on the same page)
Everything is working fine with LS 1.90 but turned wrong with 1.92...
I don't know why...

File Attachment:

File Name: limesurvey_group_164.lsg
File Size: 8 KB
Benoît

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84836

  • tpartner
  • tpartner's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 4369
  • Thank you received: 828
  • Karma: 381
Ben, it worked fine for me in 1.92. Maybe your IDs were wrong?

Here it is with more generic selectors to avoid the export-import/ID-change problem. The age value is simply loaded into the first short-text found.

File Attachment:

File Name: limesurvey_group_1324.lsg
File Size: 10 KB
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
The administrator has disabled public write access.

Re: Calculate age in an Equation type question, using Date of Birth 2 years 3 months ago #84837

  • tfj
  • tfj's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 80
  • Thank you received: 6
  • Karma: 5
Thanks, tpartner! I get a "NaN" error in the age text box.

On the off chance that it had something to do with the date format -- since I use "mm-dd-yyyy" -- I changed this setting to "dd-mm-yyyy" for the survey and I still got the "NaN" error. In the meantime, I changed it back to "mm-dd-yyyy."

This is another of those times where I figure I am missing something simple.

tfj
The administrator has disabled public write access.
Moderators: ITEd
Time to create page: 0.134 seconds
Donation Image