Jeditable Datepicker onblur问题

时间:2010-04-22 09:48:12

标签: datepicker jeditable onblur

我正在使用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

即使这样也无济于事。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您是否尝试过jeditable-datepicker插件?它似乎完全符合你的需要。

它在Jeditable中启用了jQuery UI Datepicker。这是demo

答案 1 :(得分:1)

是的,我使用的是同样的。我不得不禁用Prev和Next按钮,分别导航到上个月和下个月。单击链接时显示3个月的日历,如果用户想要输入这3个月中任何一个月份都没有的日期,我让他通过输入文本框可编辑来手动输入。这解决了我的问题。