允许在可裁剪环境中编辑日期时间值的最佳方法?

时间:2017-11-11 18:09:44

标签: jquery mysql datetime jeditable

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

  input.datepicker(datepicker);

它实际上正在做的是将jquery ui datepicker应用于您的input元素。

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

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

答案 1 :(得分:1)

来自jeditable文档。

  

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

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

  

timepicker类型(timepicker的依赖关系)

  

time输入类型(如果需要,这可能是最好的方法   快速而没有任何其他插件依赖的东西。)

time

中可以找到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); } }); 输入类型来扩展其他输入类型,例如下面(只是一个简单的演示)

def userID

请同时查看更新的fiddle以查看更改