Maison > interface Web > Questions et réponses frontales > jquery ne peut pas ajouter de date dynamiquement

jquery ne peut pas ajouter de date dynamiquement

PHPz
Libérer: 2023-05-11 17:41:07
original
507 Les gens l'ont consulté

Ces dernières années, avec le développement continu de la technologie front-end, jQuery est devenue l'une des bibliothèques JavaScript les plus couramment utilisées dans le développement Web. Il fournit une variété d'interfaces et de fonctions simples et faciles à utiliser, ce qui simplifie grandement le travail de codage JavaScript. Cependant, dans la pratique, nous rencontrerons inévitablement quelques difficultés. Cet article se concentrera sur un problème : comment ajouter dynamiquement un sélecteur de date.

Le sélecteur de date est l'un des contrôles couramment utilisés dans les formulaires Web. Dans jQuery, il existe également une variété de plug-ins de sélection que nous pouvons utiliser. Cependant, il existe encore certaines situations dans lesquelles nous devons ajouter un sélecteur de date de manière dynamique, et dans ce cas, nous devons écrire le code nous-mêmes.

Supposons que nous devions ajouter un contrôle de sélection de date à la page. Comment devrions-nous l'implémenter ? Voici un exemple de code simple :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>动态添加日期选择控件示例</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
    <script src="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
    <h1>动态添加日期选择控件示例</h1>
    <div id="datepicker"></div>
    <button id="addDatepicker">添加日期选择控件</button>
    <script>
        $(document).ready(function() {
            $('#addDatepicker').click(function() {
                $('#datepicker').datepicker();
            });
        });
    </script>
</body>
</html>
Copier après la connexion

Dans le code ci-dessus, nous avons d'abord présenté les fichiers associés de jQuery et jQuery UI. Ensuite, nous avons ajouté un élément div à la page et défini son identifiant sur « datepicker ». Ensuite, un élément bouton est ajouté sous l'élément div et son identifiant est défini sur "addDatepicker".

Dans la dernière balise de script, nous utilisons la méthode .ready() de jQuery pour ajouter un événement de clic au bouton après avoir confirmé que la page DOM est prête. Dans ce gestionnaire d'événements, nous appelons la méthode datepicker() fournie par jQuery UI pour ajouter un sélecteur de date à l'élément Div.

Il semble qu'il ne devrait y avoir aucun problème avec le code, alors pourquoi le sélecteur de date n'apparaît-il pas ? Nous avons constaté que bien que le code ci-dessus puisse afficher le bouton lorsque la page est affichée, le sélecteur de date n'apparaît pas après avoir cliqué.

Après analyse, nous avons constaté que le problème réside dans la fonction du bouton ajouter un événement. Plus précisément, le problème vient de la méthode datepicker(). La raison de ce problème est que la méthode .load() de jQuery est obsolète et que la méthode datepicker() dépend de la méthode .load(). En d’autres termes, puisque la méthode .load() n’est plus prise en charge, la méthode datepicker() ne peut pas fonctionner correctement.

Pour résoudre ce problème, nous pouvons utiliser une méthode plus moderne pour ajouter dynamiquement un sélecteur de date. Plus précisément, nous pouvons utiliser la méthode .on() de jQuery pour lier l'événement comme suit :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>动态添加日期选择控件示例</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
    <script src="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
    <h1>动态添加日期选择控件示例</h1>
    <div id="datepicker"></div>
    <button id="addDatepicker">添加日期选择控件</button>
    <script>
        $(document).ready(function() {
            $('#addDatepicker').on('click', function() {
                $('<input>').appendTo('#datepicker').datepicker();
            });
        });
    </script>
</body>
</html>
Copier après la connexion

Nous devons ajouter une zone de saisie au contrôle du sélecteur de date, puis appeler la méthode datepicker(). De cette façon, cela fonctionne bien et ajoute le sélecteur de date de manière dynamique.

Dans les applications pratiques, nous rencontrons souvent divers problèmes tels que des inadéquations de position et des erreurs de format. En général, lorsque nous utilisons le sélecteur de date de jQuery, nous devons prêter attention aux points suivants :

  1. Introduire les fichiers requis de manière appropriée. Les fichiers pertinents de JQuery et jQuery UI doivent être introduits.
  2. Utilisez la dernière méthode de liaison d'événement. L'ancienne méthode est obsolète.
  3. Suivez les exemples sur l'API et utilisez correctement les méthodes pertinentes.
  4. Faites attention au format de la date. Différents pays et régions ont des formats d'heure différents, vous devez donc y prêter attention.

En bref, ajouter dynamiquement un sélecteur de date semble simple, mais en fait cela pose de nombreux problèmes. Ce n'est qu'en lisant attentivement la documentation de l'API, en standardisant le code et en prêtant attention au format de l'heure et à d'autres problèmes que notre code peut fonctionner normalement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal