Avoid Multiple iOS Datepicker.

When working with date fields on a website, encountering multiple popups can be frustrating for users, especially on iOS devices where the native date picker and a jQuery date picker might both appear. To address this issue, you can take several steps to ensure only one date picker is shown:

On iOS devices, the native date picker is automatically displayed for <input type=”date”> elements. To prevent this, you can set the input type to “text” and manually initialize the jQuery date picker.

Sample Code

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Date Picker Example</title>
  <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  <script>
    $(function() {
      $("#dateField").datepicker();

      // Prevent native iOS date picker
      document.getElementById('dateField').addEventListener('focus', function(event) {
        event.target.blur();
        $("#dateField").datepicker("show");
      });
    });
  </script>
</head>
<body>
  <label for="dateField">Select a date:</label>
  <input type="text" id="dateField">
</body>
</html>

Leave a comment

Your email address will not be published. Required fields are marked *