我正在使用Jeditable和datepicker进行内联编辑。我的表中有一列显示Date作为超链接。当我点击它时,它显示了datepicker。并且当选择特定日期时,它在后端更新,现在使用更改的值更新单元格。但是,在改变月份或年份时,我遇到onblur事件的问题。当我点击datepicker控件上的“上一个”或“下一个”按钮时,会触发此事件。这会在选择日期时导致异常。只要所选日期在当前月份,这就可以正常工作。我尝试了这里列出的所有可能的解决方案:
stackoverflow.com/questions/2007205/jeditable-datepicker-causing-blur-when-changing-month
如果是settimeout,则在关闭datepicker或真正的onblur事件时,控件不会更改回正常的超链接。
这是我的代码,
$ .editable.addInputType('datepicker',{ element:function(settings,original){ var input = $(''); if(settings.width!='none'){input.width(settings.width); } if(settings.height!='none'){input.height(settings.height); } input.attr( '自动完成', '关闭'); $(本).append(输入); 返回(输入); }, 插件:function(settings,original){ var form = this;
settings.onblur = function(e) {
t = setTimeout(function() {
original.reset.apply(form, [settings, self]);
}, 100);
};
$(this).find('input').datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd-M-y',
closeAtTop: true,
onSelect: function(dateText) { $(this).hide(); $(form).trigger('submit'); }
});
},
submit : function(settings, original) { }
});
$(function(){ $('。edit_eta')。editable('update_must_fix_eta.php',{ id:'bugid', 名称:'eta', 输入:'datepicker', 事件:'点击', 选择:true, 宽度:'50px', 的onblur: '取消', cssclass:'editable', 指标:'正在更新ETA,请稍候。', 风格:'继承', submitdata:{版本: '4.2(4)',标签: 'REL_4_2_4',QSTR:1} }); });
我试图通过此链接提及黑客jeditable.js:http://groups.google.com/group/jquery-dev/browse_thread/thread/265340ea692a2f47
即使这样也无济于事。
感谢任何帮助。
答案 0 :(得分:1)
您是否尝试过jeditable-datepicker插件?它似乎完全符合你的需要。
它在Jeditable中启用了jQuery UI Datepicker。这是demo。
答案 1 :(得分:1)
是的,我使用的是同样的。我不得不禁用Prev和Next按钮,分别导航到上个月和下个月。单击链接时显示3个月的日历,如果用户想要输入这3个月中任何一个月份都没有的日期,我让他通过输入文本框可编辑来手动输入。这解决了我的问题。