【问题标题】:Best way to allow editing of a datetime value in a jeditable environment?允许在可编辑环境中编辑日期时间值的最佳方法?
【发布时间】:2017-11-11 18:09:44
【问题描述】:

我使用 Jeditable 来允许在我的页面上编辑表格。它更新了一个 MySQL 表,一切正常。

我还想添加编辑日期时间值的功能。所以我尝试使用 jquery.jeditable.datepicker.js 来完成这项工作。但它只适用于日期值而不是日期时间值。

$('.editTimeIn').editable('save.php', { 
    type        : 'datepicker',
        datepicker: {
            dateFormat: 'yy-mm-dd',
            numberOfMonths: 2
        }
});

我需要能够让用户选择日期和时间。您对此功能有什么建议? 如果可能,请使用示例。

【问题讨论】:

标签: jquery mysql datetime jeditable


【解决方案1】:

来自jeditable 文档。

(String) type:要使用的输入类型。默认输入类型为 texttextarea选择。使用自定义提供其他输入类型 输入类型 API。

因此,如果您仔细查看 jeditable additional input types,您会发现您可以使用

timepicker类型(timepicker的依赖)

time 输入类型(也许这是您需要时的最佳方式 快速的东西,没有任何其他插件依赖)。

time 输入类型的简单示例可以在此fiddle 中找到

编辑

您还可以尝试通过添加datetime-local 输入类型来扩展其他输入类型,如下所示(只是一个简单的演示)

$.editable.addInputType('datetime', {
/* Create input element. */
element : function(settings, original) {
    // pattern is fallback for browsers not supporting datetime-local   
    var datetime_local = $('<input id="datetime_" type="datetime-local" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}" required />');
    $(this).append(datetime_local);         
var hidden = $('<input type="hidden">');
$(this).append(hidden);
return(hidden);
},
submit : function(settings, original) {
    var value = $('input:#datetime_').val();
    $("input", this).val(value);
}
});

请检查更新后的fiddle 以查看更改

【讨论】:

  • 嗨#Peter Darmis 这正是我要找的。然而,日期的摆弄是行不通的。编辑的结尾必须有一个值,例如 2017-12-15 09:15:00 你能告诉我如何在小提琴中做到这一点吗?
  • @KeithDKaiser 如果您的意思是当您提交表单时日期值未定义,请检查更新。
  • 任何方式使用下拉或其他方法来选择日期和时间(类似于你在第一个小提琴中所做的)?
  • @KeithDKaiser datetime-local 类型的 UI 严格依赖于浏览器,如这里看到的 time 类型。 developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time。将select 用于日期和时间的唯一方法是在jeditable 中编写一个附加类型,类似于同样包含日期的time 类型。
【解决方案2】:

直接来自 jeditable 的source file。看看文件的结尾

  if (settings.datepicker) {
    jQuery.extend(datepicker, settings.datepicker);
  }

  input.datepicker(datepicker);

它实际上是在将 jquery ui datepicker 应用到您的输入元素。

JQuery ui Datepicker 无法更改日期时间。 或者,您可以找到另一个支持此功能的库。或者您可以向 github 上的 jeditable developers 请求功能。

我建议您寻找任何其他库,因为我怀疑开发人员会帮助您,因为他们已经六七年了。并且您不应该使用已折旧的库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2015-05-21
    • 2015-01-26
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多