Как рассчитать возраст?

Там есть поле «DatePicker», мне нужно взять дату и вставить возраст в поле «NumericTextBox»

Спасибо

<div>
<sq8:DatePicker runat = "server" ID = "dateDatePicker">
   <ClientEvents OnDateSelected = "get_current_age"></ClientEvents>
</sq8:DatePicker>

<sq:BindableControl runat = "server" TargetControlID = "dateDatePicker" DataField = "Date"></sq:BindableControl>

</div>
<div class = "sqf-col-xs-4 sqf-control-group-v">
<sq8:Label runat = "server" Text = "Age" ID = "lblAge"></sq8:Label>

<sq8:NumericTextBox runat = "server" ID = "txtAge"></sq8:NumericTextBox>
</div>

вам нужно будет проанализировать дату в объекте даты javascript, а затем выполнить дельту между Date.now - dateParsed (а затем разделить на миллисекунды в течение года)

DevZer0 16.01.2019 08:10

Связанная проблема: stackoverflow.com/questions/9/…. Просто передайте значение в коде программной части и выполните расчет возраста, как в связанной публикации, а затем присвойте результат текстовому полю.

Tetsuya Yamamoto 16.01.2019 08:14

Как это реализовать с помощью jQuery?

Michael Reed 16.01.2019 09:13

@MichaelReed jQuery не добавляет в Dates ничего больше, чем доступно через собственный JavaScript. Так что вы можете делать, как говорит DevZer0. Вы можете использовать jQuery для получения значения из поля даты, но после этого все сводится к использованию собственных дат. Однако свидания с JS могут быть проблемой, особенно для непосвященных. Использование другой библиотеки дат, такой как MomentJS, может упростить вашу жизнь и позволить сохранить больше волос. Легко преобразовать строку даты в объект momentJS, а затем сравнить ее с сегодняшней датой, чтобы получить возраст в годах.

ADyson 16.01.2019 10:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
102
1

Ответы 1

Этого можно добиться с помощью jQuery. См. Пример ниже.

Наряду с jQuery я использую moment.js. Причина этого в том, что при работе с обычными функциями даты javascript возникает множество проблем в среде с несколькими устройствами / браузерами. Чтобы избежать этого, рекомендуется использовать стандартную / хорошо протестированную библиотеку дат JS. Подробнее о Moment.JS

<html lang = "en">
<head>
  <meta charset = "utf-8">
  <meta name = "viewport" content = "width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel = "stylesheet" href = "//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel = "stylesheet" href = "/resources/demos/style.css">
  <script src = "https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src = "https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
  <script src = "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
</head>
<body>
 
<p>Date: <input type = "text" id = "datepicker"></p>
 
Your Age is: <span id = "age">Pick a date</span> 
<script>
  $(document).ready(function() {
    $( "#datepicker" ).datepicker();
    
    $('#datepicker').change(function(){   
      var pickedDate = $(this).val();
      var a = moment(pickedDate,"MM/DD/YYYY");
      var b = moment(new Date());
      var c = b.diff(a,'years',true);
      $('#age').html(Math.floor(c) + ' year(s)');
    });
  } );
  </script>
</body>
</html>

Надеюсь, это поможет.

Привет @Michael, если этот ответ соответствует вашему требованию, не могли бы вы пометить его как принятый ответ. / Пожалуйста, проголосуйте за. Спасибо.

Anjana Silva 20.01.2019 08:51

Другие вопросы по теме