日期选择器不起作用

时间:2018-01-15 10:23:47

标签: jquery-ui-datepicker

这是关于动态添加多个数据和删除数据。我需要从datepicker脚本获取第一个提取日期字段。

当我点击第一个字段时,我的日期选择器日历不会出现。请检查我需要插入此$("#datepicker").datetimepicker();函数的代码,以便使用此脚本。我不会收到任何错误。

   <!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
        <link href="js/jquery.datetimepicker.min.css" rel="stylesheet">
        <script src="js/jquery.datetimepicker.full.js"></script>
        <script src="js/jquery.datetimepicker.js"></script>
    </head>
    <body><br />
        <div class="container">
            <form method="post" id="insert_form">
                <div class="table-repsonsive">
                    <span id="error"></span>
                    <table class="table table-bordered" id="item_table">
                        <tr>
                            <th>Enter Item Name</th>
                            <th>Enter Quantity</th>
                            <th>
                                <button type="button" name="add" class="btn btn-success btn-sm add">
                                    <span class="glyphicon glyphicon-plus"></span>
                                </button>
                            </th>
                        </tr>
                    </table>
                    <div align="center">
                        <input type="submit" name="submit" class="btn btn-info" value="Insert" />
                    </div>
                </div>
            </form>
        </div>
        <script>
            $(document).ready(function(){
                $(document).on('click', '.add', function(){
                    var html = '';
                    html += '<tr>';
                    html += '<td><input id = "datepicker" type="text" name="item_name[]" class="form-control item_name" /></td>';
                    html += '<td><input type="text" name="item_quantity[]" class="form-control item_quantity" /></td>';
                    html += '<td><button type="button" name="remove" class="btn btn-danger btn-sm remove"><span class="glyphicon glyphicon-minus"></span></button></td></tr>';
                    $('#item_table').append(html);
                });
                $(document).on('click', '.remove', function(){
                    $(this).closest('tr').remove();
                });
                $('#insert_form').on('submit', function(event){
                    event.preventDefault();
                    var error = '';
                    $('.item_name').each(function(){
                        var count = 1;
                        if($(this).val() == ''){
                            error += "<p>Enter Item Name at "+count+" Row</p>";
                            return false;
                        }
                        count = count + 1;
                    });
                    $('.item_quantity').each(function(){
                        var count = 1;
                        if($(this).val() == ''){
                            error += "<p>Enter Item Quantity at "+count+" Row</p>";
                            return false;
                        }
                        count = count + 1;
                    });
                    var form_data = $(this).serialize();
                    if(error == ''){
                        $.ajax({
                            url:"insert.php",
                            method:"POST",
                            data:form_data,
                            success:function(data){
                                if(data == 'ok'){
                                    $('#item_table').find("tr:gt(0)").remove();
                                    $('#error').html('<div class="alert alert-success">Item Details Saved</div>');
                                }
                            }
                        });
                    }
                    else{
                        $('#error').html('<div class="alert alert-danger">'+error+'</div>');
                    }
                });
            });
        </script>
        <script>
            $("#datepicker").datetimepicker();
        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

错误

  

ID始终是唯一的。你使用id =&#34; datepicker&#34;多次。

在代码中进行以下更改

这肯定会运行......

首次更改

datepicker id 更改为,如下所示。

html += '<td><input type="text" name="item_name[]" class="form-control item_name datepicker" /></td>';

现在更改脚本如下。

$(document).on('focusin','.datepicker',function(e) {
    $(this).datepicker();
});

工作代码

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
        <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/css/bootstrap-datepicker.css" />
        <script src="http://localhost/mercury/app/webroot/js/common/jquery-2-2-3-min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.js"></script>
    </head>
    <body><br />
        <div class="container">
            <form method="post" id="insert_form">
                <div class="table-repsonsive">
                    <span id="error"></span>
                    <table class="table table-bordered" id="item_table">
                        <tr>
                            <th>Enter Item Name</th>
                            <th>Enter Quantity</th>
                            <th>
                                <button type="button" name="add" class="btn btn-success btn-sm add">
                                    <span class="glyphicon glyphicon-plus"></span>
                                </button>
                            </th>
                        </tr>
                    </table>
                    <div align="center">
                        <input type="submit" name="submit" class="btn btn-info" value="Insert" />
                    </div>
                </div>
            </form>
        </div>
        <script>
            $(document).ready(function(){
                $(document).on('click', '.add', function(){
                    var html = '';
                    html += '<tr>';
                    html += '<td><input type="text" name="item_name[]" class="form-control item_name datepicker" /></td>';
                    html += '<td><input type="text" name="item_quantity[]" class="form-control item_quantity" /></td>';
                    html += '<td><button type="button" name="remove" class="btn btn-danger btn-sm remove"><span class="glyphicon glyphicon-minus"></span></button></td></tr>';
                    $('#item_table').append(html);
                });
                $(document).on('click', '.remove', function(){
                    $(this).closest('tr').remove();
                });
                $('#insert_form').on('submit', function(event){
                    event.preventDefault();
                    var error = '';
                    $('.item_name').each(function(){
                        var count = 1;
                        if($(this).val() == ''){
                            error += "<p>Enter Item Name at "+count+" Row</p>";
                            return false;
                        }
                        count = count + 1;
                    });
                    $('.item_quantity').each(function(){
                        var count = 1;
                        if($(this).val() == ''){
                            error += "<p>Enter Item Quantity at "+count+" Row</p>";
                            return false;
                        }
                        count = count + 1;
                    });
                    var form_data = $(this).serialize();
                    if(error == ''){
                        $.ajax({
                            url:"insert.php",
                            method:"POST",
                            data:form_data,
                            success:function(data){
                                if(data == 'ok'){
                                    $('#item_table').find("tr:gt(0)").remove();
                                    $('#error').html('<div class="alert alert-success">Item Details Saved</div>');
                                }
                            }
                        });
                    }
                    else{
                        $('#error').html('<div class="alert alert-danger">'+error+'</div>');
                    }
                });
            });
            $(document).on('focusin','.datepicker',function(e) {
                $(this).datepicker();
            });
        </script>
    </body>
</html>