在jquery数据表中插入一个datepicker

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jquery数据表中插入一个datepicker相关的知识,希望对你有一定的参考价值。

我有一个项目数据表,我想在一行中插入一个datepicker。我有这个,但它只显示输入而不是datepicker:

"render": function(data, type, full, meta){
                    var $tb = $("<input type='text' class='inlineevaldate' style='width:50px;'></input>");
                    $tb.attr("id", "etxt" + full[0]);
                    $("#etxt" + full[0]).val(full[12]);
                    return $tb.prop("outerhtml");
                }

我可以用这个更新日期:

initComplete : function(settings, json){
            $(".inlineevaldate").datepicker({
                changeMonth: true,
                changeYear: true,
                modal: false,
                autoClose: true,
                onSelect: function () {
                    $("#btnUpdateProject").focus();
                    var whichrow = $(this);
                    var id = whichrow[0].id;
                    var val = whichrow[0].value;
                    var projectid = whichrow[0].id.substring(4);
                    $.ajax({
                        type: 'POST',
                        data: { projectid : projectid, date : val },
                        url: '@Url.Action("SetProjectEvalDate")',
                        success: function(data){
                            if (data === "ERROR") {
                                ErrorDialog("#MessageDialog", "#lblError", "The was an error encountered, please try again later.", "Error");
                                return false;
                            }
                        }
                    });
                }
            });

但我无法设置输入的初始值。有任何想法吗?

答案

我用这个渲染列:

"render": function(data, type, full, meta){
                    var $tb = $("<input type='text' class='inlineevaldate' value='" + full[12] + "' style='width:50px;'></input>");
                    $tb.attr("id", "etxt" + full[0]);
                    return $tb.prop("outerHTML");
                }

然后在初始化表之后配置datepicker:

initComplete : function(settings, json){
            $(".inlineevaldate").datepicker({
                changeMonth: true,
                changeYear: true,
                modal: false,
                autoClose: true,
                onSelect: function () {
                    $("#btnUpdateProject").focus();
                    var whichrow = $(this);
                    var id = whichrow[0].id;
                    var val = whichrow[0].value;
                    var projectid = whichrow[0].id.substring(4);
                    $.ajax({
                        type: 'POST',
                        data: { projectid : projectid, date : val },
                        url: '@Url.Action("SetProjectEvalDate")',
                        success: function(data){
                            if (data === "ERROR") {
                                ErrorDialog("#MessageDialog", "#lblError", "The was an error encountered, please try again later.", "Error");
                                return false;
                            }
                        }
                    });
                }
            });

以上是关于在jquery数据表中插入一个datepicker的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Codeigniter 将 JQuery datepicker 中的值插入 MySQL 日期数据类型?

jQuery:如何从与 datepicker 插入日期的输入字段不同的元素中激活 datepicker?

如何在按钮单击并插入跨度标记时显示 jquery datepicker

使用Codeigniter将jQuery datepicker + timepicker中的值插入MySQL datetime数据类型?

动态插入 HTML DIV 会破坏页面上的 jQuery DatePicker

jquery datepicker在IE9中重新打开