简体   繁体   中英

pickadate.js not working at all

Trying to learn how to use this plugin, but I can't seem to make anything work at all. Can someone point me in the right direction? This is a laravel project, but that shouldn't make much difference.

Here is my html:

<p><input id="date" class="form-control" ng-model="currentWimDate" placeholder="Date..." type="text"></p>

and my index.blade.php:

<html lang="en" ng-app="wim">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>WIM(afy)</title>

    <link href="bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="css/wimmain.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <link rel="stylesheet" href="bower_components/pickadate/lib/themes/default.css" id="theme_base">
    <link rel="stylesheet" href="bower_components/pickadate/lib/themes/default.date.css" id="theme_date">
    <link rel="stylesheet" href="bower_components/pickadate/lib/themes/default.time.css" id="theme_time">

    <script src="bower_components/angular/angular.min.js"></script>
    <script src="bower_components/ng-file-upload-shim/ng-file-upload-shim.min.js"></script>
    <script src="bower_components/ng-file-upload/ng-file-upload.min.js"></script>
    <script src="bower_components/lodash/lodash.js"></script>
    <script src="bower_components/angular-route/angular-route.min.js"></script>
    <script src="bower_components/angular-local-storage/dist/angular-local-storage.min.js"></script>
    <script src="bower_components/restangular/dist/restangular.min.js"></script>

    <script src = "js/app.js"></script>
    <script src = "js/services.js"></script>
    <script src = "js/controllers.js"></script>
    <script src = "js/checkPass.js"></script>
    <script src = "js/signupValidation.js"></script>
    <script src = "js/dropdown.js"></script>
    <script src = "js/profileActions.js"></script>

    <style>

        li {
            padding-bottom: 8px;
        }

    </style>
</head>

<body style="background-color: #ef5350;">       
    <div ng-view></div>


    <script src="bower_components/jquery/dist/jquery.min.js"></script>
    <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
    <script src="bower_components/pickadate/lib/picker.js"></script>
    <script src="bower_components/pickadate/lib/picker.date.js"></script>
    <script src="bower_components/pickadate/lib/picker.time.js"></script>

    <script type="text/javascript">
    // PICKADATE FORMATTING
    $('#date').pickadate({
        format: 'mmmm d, yyyy',     // Friendly format displayed to user
        formatSubmit: 'mm/dd/yyyy', // Actual format used by application
        hiddenName: true            // Allows two different formats
    });
    </script>
</body>

What am I doing wrong here?

I think that your jQuery code is running before Angular finishes putting #date into your HTML. Therefore jQuery can't find the element that you're looking for, so nothing happens. You can test this out by outputting the result of $('#date') . Try running the pickadate code after Angular finishes rendering. Here's a question that might help you out.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM