多字段中的Jquery日期选择器并保存输入

多字段中的Jquery日期选择器并保存输入,jquery,input,datepicker,submit,Jquery,Input,Datepicker,Submit,我仍在学习,我的最新项目让我陷入了这一困境: 在管理客户的表中,我希望有一个带有日期选择器的输入字段,每行使用该字段,如下所示: <td> //some more content <div class="includeDatepicker"> <input type="text" class="datepicker"> </div> </td> jQuery("document").ready(func

我仍在学习,我的最新项目让我陷入了这一困境:

在管理客户的表中,我希望有一个带有日期选择器的输入字段,每行使用该字段,如下所示:

<td>
//some more content
    <div class="includeDatepicker">
        <input type="text" class="datepicker">
    </div>
</td>
jQuery("document").ready(function () {
    jQuery('.datepicker').dateRangePicker({
    autoClose: true,
    singleDate : true,
    showShortcuts: false,
    singleMonth: true,
    startOfWeek: 'monday',
    separator : ' ~ ',
    format: 'DD.MM.YYYY HH:mm',
    time: {
        enabled: true
    }
});
});
在这里之前,一切正常。尽管如此:

datepicker仅显示在表的第一行中的第一个输入字段中,即使单击了其他输入字段,它也将仅显示在该字段中。如何向每个输入字段添加日期选择器?我已经在使用类选择器了。我已经对此进行了研究,并找到了一些解决方案,但无论怎样,我都无法真正理解

即使在刷新页面时,写入输入字段的日期如何保存

我将非常感谢任何帮助,我在这里询问之前做过研究,但没有一个有用


问候语

我认为第二部分的方法如下:

jQuery("document").ready(function () {
    jQuery('.datepicker').dateRangePicker({
    autoClose: true,
    singleDate : true,
    showShortcuts: false,
    singleMonth: true,
    startOfWeek: 'monday',
    separator : ' ~ ',
    format: 'DD.MM.YYYY HH:mm',
    time: {
        enabled: true
    }
},function(start, end, label) {
    console.log(start.format('YYYY-MM-DD') + ' TO: ' + end.format('YYYY-MM-DD'));
}
    );
});
在上面的函数中,您可以对DB进行AJAX调用,但正如我前面所说的,您需要元素上的一些id,以便可以将其传递回服务层,从而确保您知道它们正在更新的实体

我不确定您使用的日期范围选择器是什么,但如果是我认为的日期范围选择器,则有很多示例@

添加一个新函数,例如:

function updateDBWithVals(urlToServer,startDateFromFrontEnd,endDateFromFrontEnd,rowID) {    
    return $.ajax({
            url:            urlToServer,
            data:           {startDate : startDateFromFrontEnd, endDate: endDateFromFrontEnd, entityID: rowID},
            type:           "POST",                         
            success:        function(response) { 
                                    console.log(response);
                            },
            error:          function(error) {
                                console.log(error);
                            }
        }); 
}
现在在回调函数中,只需调用它,即

function(start, end, label) {
    console.log(start.format('YYYY-MM-DD') + ' TO: ' + end.format('YYYY-MM-DD'));
    updateDBWithVals("urlToYourServerLogic",start.format('YYYY-MM-DD'),end.format('YYYY-MM-DD'),"theIDOfTheRow");
}

您是否已尝试将id属性添加到?添加一些逻辑,以确保每个都有一个id,然后重试。我认为身份证是必需的,谢谢!但是他们不应该有不同的身份证吗?既然我只列出了它们一次,我该怎么做呢?是的,在html中,元素上的每个id都应该是唯一的。这取决于您如何构建表内容。如果是手工输入的,则只需为每个td分配一个唯一的id,即,等等。。等等。该表是通过循环通过客户构建的。抱歉,只是再次查看它并jQuery'.datepicker'.dateRangePicker。。。根据类为表中的每个输入赋值。不过,在提交数据时,您需要在文本输入上输入某种id,以便知道要保存的实体。我不知道如何设置不同的id,也不知道以后如何为元素调用这些id,而且我在谷歌上找不到任何用于搜索的内容。我所做的让他们在每次加载页面时都有所改变,但这并没有真正实现任何效果。我只有这一行,因为整个表在一个循环中被调用,为每个客户创建一行。不过,谢谢你的帮助,我只是觉得很愚蠢。如果表上的每一行都是为一个客户创建的,那么你可以将html id属性应用于该行,作为表创建的一部分。id可以只是数据库中客户的主键,或者允许您在数据库中查找和更新客户的数据。在函数中,当调用它时,可以使用JQuery获取父行html ID并将其传递给AJAX调用。。不要放弃一切都是可以实现的。也许把你目前所拥有的东西放到一个JSFiddle中,我们可以从那里得到它……我可以嫁给你吗,或者至少在这里向你致敬一千次吗?开个玩笑,你能给我举个例子看看那个电话是什么样子吗?我现在设法弄到了身份证。