繁体   English   中英

将jquery自动完成代码段移动到script.js文件

[英]moving jquery autocomplete code snippet to script.js file

我试图通过将jquery自动完成代码移动到scripts.js文件来保持DRY原则,但是我在移动它时无法使自动完成功能正常工作。

这是目前的设置。

添加表格

    <head>
    <?php
     require_once ('includes/connect-db.php');
     require_once ('includes/functions.php');
    ?>
        <link href="css/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css">
        <script type="text/javascript" src="includes/js/jquery-ui-1.8.21.custom.min.js"></script>
        <script type="text/javascript">


        $('document').ready(function() {
            $('#datepickerID').datepicker({
                changeYear:true,
                changeMonth:true,
                dateFormat:'yy-mm-dd'
            })

        <?php $productArray = autoComplete();?>

        $(function() {

                var js_products_array = <?php echo json_encode($productArray); ?>;

                $( "#autocompleteID" ).autocomplete({
                    source: js_products_array
                 });
            });

        });

        </script>
</head>

我不确定在JavaScript中嵌入php代码时如何使它在addForm.php和scripts.js之间工作。

您必须将js_products_array保留在.js文件之外,因为它包含来自PHP脚本的数据,并在准备好文档时初始化autocomplete()

所以你只能保留

<?php $productArray = autoComplete();?>
<script type="text/javascript">
    var js_products_array = <?php echo json_encode($productArray); ?>;
</script>

在您的file.js您可以添加

 $('document').ready(function() {
     $('#datepickerID').datepicker({
           changeYear:true,
           changeMonth:true,
           dateFormat:'yy-mm-dd'
     })

     $( "#autocompleteID" ).autocomplete({
           source: js_products_array
     });
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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