How to convert php array into javascript array to use with the Jquery UI datepicker?

11,328

you can use $.parseJSON function.

<script type="text/javascript">
var unavailabledates = $.parseJSON('<?php echo json_encode($disablethese); ?>');
</script>
<script src="js/datepicker-admin.js"></script>
Share:
11,328
chap
Author by

chap

Updated on June 04, 2022

Comments

  • chap
    chap almost 2 years

    Right now I am using a manually inputted array of dates called disable to disable dates in the jquery UI datepicker with the beforeShowDay method. This is working fine, however, I have a php variable $disablethese which is storing a dynamic array of dates to disable. For some reason, I can't seem to convert my php array into a javascript array (which I'm calling unavailabledates). It doesn't throw any errors but it just doesn't work block out the dates the same way as the static array.

    <script type="text/javascript">
        var unavailabledates = <?php echo json_encode($disablethese); ?>;
        </script>
        <script src="js/datepicker-admin.js"></script> 
    

    Here is datepicker-admin.js

     $(document).ready(function() {
            var disable = ["2014-01-03","2014-01-13","2014-01-23"];
                $('#fromDate').datepicker({
                beforeShowDay: function(date) {
                    if($.inArray($.datepicker.formatDate('yy-mm-dd', date ), disable) > -1) {
                        return [false, "highlighted", "Booked out"];
                    } else {
                        return [true, "", "available"];
                    }
                }
            });
        });
    
  • Admin
    Admin over 7 years
    Dont use quotes