我使用的是Jeditable和datepicker的内联编辑。我的表中有一个列,它将Date显示为一个超链接。当我点击它时,它会显示datepicker。当选择一个特定的日期时,它会在后端更新,单元格现在会用更改后的值进行更新。然而,我在更改月份或年份时遇到了onblur事件的问题。当我单击datepicker控件上的"Prev“或"Next”按钮时,会触发此事件。这会导致在选择日期时出现异常。只要所选日期在当前月份,此操作就可以正常工作。我尝试了下面列出的所有可能的解决方案:
stackoverflow.com/questions/2007205/jeditable-datepicker-causing-blur-when-changing-month
如果settimeout,则在关闭datepicker或发生真正的onblur事件时,控件不会更改回正常的超链接。
这是我的代码,
$.editable.addInputType(‘日期选择器’,{元素:函数(设置,原始){ var输入= $('');if (settings.width != 'none') { input.width(settings.width);} if (settings.height != 'none') { input.height(settings.height);} input.attr('autocomplete','off');$(this).append( input );return(input);},plugin :function(设置,原始){ 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',事件:‘单击’,select : true,宽度:'50px',onblur:‘取消’,cssclass:‘可编辑’,indicator:‘正在更新ETA,请稍候。’,style:'inherit',submitdata:{version:'4.2(4)',tag:'REL_4_2_4',qstr:1} });});
我尝试了在这个链接上提到的jeditable.js:http://groups.google.com/group/jquery-dev/browse_thread/thread/265340ea692a2f47
即使这样也无济于事。
任何帮助都是非常感谢的。
发布于 2011-05-08 01:49:04
你试过jeditable-datepicker插件吗?它似乎完全满足了您的需求。
它在Jeditable中启用了jQuery UI数据选择器。这是demo。
发布于 2011-05-08 12:17:06
是的,我用的也是一样的。我不得不禁用Prev和Next按钮,这两个按钮分别导航到上个月和下个月。当点击链接时,我显示3个月的日历,如果用户想输入一个日期,而不是这3个月中的任何一个,我让他手动输入,使输入文本框可编辑。这解决了我的问题。
https://stackoverflow.com/questions/2689726
复制相似问题